LinqToTwitter - IsAuthorized始终为ApplicationOnlyAuthorizer返回false

时间:2013-05-13 10:49:20

标签: asp.net-mvc-4 twitter linq-to-twitter

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

为此我使用ApplicationOnlyAuthorizer:

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

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

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

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

1 个答案:

答案 0 :(得分:2)

您第一次授权时,Twitter将返回持票人令牌。授权后,您可以从auth.BearerToken属性中获取此属性。在后续呼叫中,您可以重复使用相同的承载令牌。承载令牌不会过期,除非您使其无效。 Twitter的建议是你使用持票人令牌约15分钟,然后再重新授权。