我有一个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
变量可能比实际的身份验证本身更长?
对此有任何建议将不胜感激。
答案 0 :(得分:2)
您第一次授权时,Twitter将返回持票人令牌。授权后,您可以从auth.BearerToken属性中获取此属性。在后续呼叫中,您可以重复使用相同的承载令牌。承载令牌不会过期,除非您使其无效。 Twitter的建议是你使用持票人令牌约15分钟,然后再重新授权。