c# - 在 ServiceStack api 中使用 Linq2Twitter 和缓存的 OAuth token

标签 c# twitter servicestack linq-to-twitter

我想使用 Linq2Twitter 从用 ServiceStack 编写的 REST API 中进行 Twitter API 调用。

我有以下信息:

  • 消费者 key
  • 消费者 secret
  • 当用户在网站上验证我们的应用程序时缓存的 OAuth token
  • 从用户在网站上验证我们的应用程序时缓存的 OAuth TokenSecret

如何使用此信息创建 TwitterContext 以便进行 API 调用?我正在查看文档,我看到了 WebForm、MVC、桌面示例,但没有一个适用于我当前的用例。我认为我不能使用 WebForm/MVC,因为如果 token / token 密码错误,它们会尝试将用户重定向到授权页面。我查看了桌面示例,它使用了 pin 授权,我认为我也不能使用它。

我知道如果用户在我缓存这些值后决定撤销访问权限,则 token / token secret 可能是错误的,因此我需要一种验证方法,如果失败则不执行任何操作。

最佳答案

这个问题并不完全相同,但您可能对授权人的概念感兴趣:

How to use Linq to Twitter inside a web service?

本质上,您想要实例化一个授权方,为 Credentials 属性分配值,如下所示:

    var auth = new SingleUserAuthorizer
    {
        Credentials = new SingleUserInMemoryCredentials
        {
            ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"],
            ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"],
            TwitterAccessToken = ConfigurationManager.AppSettings["twitterAccessToken"],
            TwitterAccessTokenSecret = ConfigurationManager.AppSettings["twitterAccessTokenSecret"]
        }
    };

然后,像这样实例化您的 TwitterContext:

    var ctx = new TwitterContext(auth);

在这种情况下,特定授权方是 SingleUserAuthorizer,但您可以使用用于获取原始凭据的同一授权方。只需提供所有 4 个凭据,LINQ to Twitter 将绕过用户重定向以在 Twitter 上进行授权。

关于c# - 在 ServiceStack api 中使用 Linq2Twitter 和缓存的 OAuth token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18156357/

相关文章:

c# - 关于 .NET 中语音识别类的问题

c - 在文本文件上写入 Twitter 流时出现段错误

javascript - JS 加载的 Twitter 分享按钮无法正确呈现

c# - 获取 azure 容器中的最后一个blobitem

c# - 跟踪特定方法调用

Ruby:Twitter API:获取所有关注者

oracle - ServiceStack 中的 Dapper 和 OrmLite IDBConnectionFactory

authentication - ServiceStack Redis 身份验证持久化

c# - 通过 ServiceStack UncaughtExceptionHandler 传递错误

c# 如何使用 DataSource 隐藏 DataGridView 中的行