我知道之前已经多次询问过这个问题,但我已经使用了linqtotwitter文档和示例中的信息以及此处的其他帖子来实现这一目标。我可以让我的新应用程序发送一条推文,但只是让它让我的twitters授权页面,我不得不点击授权按钮继续。
应用程序本身是经过授权的,所以我每次都不需要我的密码,只是使用了它想要许可的应用程序。
我知道这是因为我的代码中没有任何地方存在我的访问令牌或访问令牌秘密。我已经添加了它们,但每次我获得401未授权(无效或过期的令牌)。
我的代码如下,也许您可以看到我出错的地方?
private IOAuthCredentials credentials = new SessionStateCredentials();
private MvcAuthorizer auth;
private TwitterContext twitterCtx;
public ActionResult Index()
{
credentials.ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"];
credentials.ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"];
credentials.AccessToken = "MYaccessTOKENhere"; // Remove this line and line below and all works fine with manual authorisation every time its called //
credentials.OAuthToken = "MYaccessTOKENsecretHERE";
auth = new MvcAuthorizer
{
Credentials = credentials
};
auth.CompleteAuthorization(Request.Url);
if (!auth.IsAuthorized)
{
Uri specialUri = new Uri(Request.Url.ToString());
return auth.BeginAuthorization(specialUri);
}
twitterCtx = new TwitterContext(auth);
twitterCtx.UpdateStatus("Test Tweet Here"); // This is the line it fails on //
return View();
}
答案 0 :(得分:2)
以下是有助于解决401错误的常见问题解答:http://linqtotwitter.codeplex.com/wikipage?title=LINQ%20to%20Twitter%20FAQ&referringTitle=Documentation
一些可能也有帮助的项目: