1

我有一个MVC4Web 应用程序,用于LinqToTwitter在访问用户的个人资料页面时显示推文(如果他们有 Twitter 句柄)。

为此,我使用 ApplicationOnlyAuthorizer:

var auth = new ApplicationOnlyAuthorizer
{
  Credentials = new InMemoryCredentials
  {
    ConsumerKey = "twitterConsumerKey",
    ConsumerSecret = "twitterConsumerSecret"
  }
};
auth.Authorize();

我的问题是我发现它auth.IsAuthorized总是返回 false,即使我已经打电话Authorize()并且能够成功拨打 Twitter。而且,我发现如果我Authorize()在每次调用 Twitter 时调用,如果我重复调用足够多次,就会引发未处理的异常。

在我打电话给 Twitter 之前,我能够知道 auth 是否被授权,这似乎很重要。现在,我已经在存储自己的IsAuthorized Session变量的地方进行了快速修复 - 但不确定这有多可靠,因为该Session变量可能比实际身份验证本身更有效?

对此的任何建议将不胜感激。

4

1 回答 1

2

第一次授权时,Twitter 会返回一个不记名令牌。授权后,您可以从 auth.BearerToken 属性中获取它。在后续调用中,您可以重复使用相同的不记名令牌。不记名令牌不会过期,除非您将其无效。Twitter 的建议是您使用不记名令牌大约 15 分钟,然后重新授权。

于 2013-05-13T17:55:59.360 回答