【发布时间】:2012-07-02 17:00:21
【问题描述】:
我正在编写一个 Metrol 风格的应用程序来更新我的 Twitter 上的状态。我使用 LINQ to Twitter 库。但我不明白为什么我的应用程序会抛出异常 401 Unauthorized。这是我的代码:
private void UpdateStatus()
{
// configure the OAuth object
var auth = new SingleUserAuthorizer
{
Credentials = new InMemoryCredentials
{
ConsumerKey = "ConsumerKey",
ConsumerSecret = "ConsumerSecret",
OAuthToken = "TwitterAccessToken",
AccessToken = "TwitterAccessTokenSecret"
}
};
using (var twitterCtx = new TwitterContext(auth, "https://api.twitter.com/1/", "https://search.twitter.com/"))
{
var tweet = twitterCtx.UpdateStatus("Hi everybody!"); // error here
viewTextBlock.Text = String.Empty;
viewTextBlock.Text = viewTextBlock.Text + "Status returned: " +
"(" + tweet.StatusID + ")" +
tweet.User.Name + ", " +
tweet.Text + "\n";
}
}
【问题讨论】:
-
无论如何以您现在这样做的方式连接字符串。请改用
String.Format("Status returned: ({0}), {1}, {2}", ...)。 -
您在此处公开发布了您的凭据,这是不安全的。如果您可以通过dev.twitter.com 访问您的应用并重新生成您的令牌,那就太好了。
标签: c# twitter exception-handling http-status-code-401 linq-to-twitter