Asp.net mvc 4 对于ApplicationOnlyAuthorizer,LinqToTwitter-IsAuthorized始终返回false

Asp.net mvc 4 对于ApplicationOnlyAuthorizer,LinqToTwitter-IsAuthorized始终返回false,asp.net-mvc-4,twitter,linq-to-twitter,Asp.net Mvc 4,Twitter,Linq To Twitter,我有一个MVC4web应用程序,它使用LinqToTwitter在用户的个人资料页面被访问时显示tweet,如果他们有Twitter句柄的话 为此,我使用ApplicationOnlyAuthorizer: var auth = new ApplicationOnlyAuthorizer { Credentials = new InMemoryCredentials { ConsumerKey = "twitterConsumerKey", ConsumerSecret

我有一个
MVC4
web应用程序,它使用
LinqToTwitter
在用户的个人资料页面被访问时显示tweet,如果他们有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
变量可能比实际的身份验证本身更有效


如果您对此有任何建议,我们将不胜感激。

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

无论出于何种原因,我获得的是BasicToken,而不是承载令牌,而对我来说,授权总是错误的。然后我得到了“错误的身份验证数据”,内部异常包含“远程服务器返回了一个错误:(400)错误的请求。”,有什么想法吗?@Oakcool你的情况听起来像是401。我这里有一个常见问题:@furquankan使用403的原因之一是,如果您尝试在用户上下文中使用ApplicationOnlyAuthorizer。e、 g.搜索没有问题,因为它与用户无关。然而,如果你用它来推特,那是行不通的,因为推特是特定用户所做的事情。因此,您应该查看其他授权人之一。@JoeMayo请参阅此链接并查看我的评论