我有一个 MVC4
Web应用程序使用 LinqToTwitter
在访问用户的 Profiles 页面时显示推文,如果他们有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 回答
您第一次授权时,Twitter将返回持票人令牌 . 授权后,您可以从auth.BearerToken属性中获取此属性 . 在后续呼叫中,您可以重复使用相同的承载令牌 . 承载令牌不会过期,除非您使其无效 . Twitter的建议是你使用持票人令牌约15分钟,然后再重新授权 .