因此,我查看了 Linq 到 Twitter 文档中关于 Oauth 的 401 状态的所有建议,老实说,我不知道我做错了什么。
var auth = new PinAuthorizer
{
Credentials = new InMemoryCredentials
{
ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"],
ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"],
//OAuthToken = ConfigurationManager.AppSettings["twitterOAuthToken"], //don't include this
//AccessToken = ConfigurationManager.AppSettings["twitterAccessToken"] //or this for new users.
},
//
UseCompression = true,
GoToTwitterAuthorization = pageLink => Process.Start(pageLink),
GetPin = () =>
{
Console.WriteLine("/nAfter twitter authorizes your application you will be returned here or something/n");
Console.Write("Enter Pin here:");
return Console.ReadLine();
}
};
auth.Authorize();
using (var twitterCtx = new TwitterContext(auth, "https://api.twitter.com/1/",
"https://search.twitter.com/"))
{
try
{
twitterCtx.Log = Console.Out;
Console.WriteLine("Please provide tweet text");
string tweet = Console.ReadLine();
twitterCtx.UpdateStatus(tweet);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
我已经使用 Pin Authentication 方法和单用户方法(通过配置文件提供 oauth 密钥)运行了这个。我可以查询推文,但我无法更新我的状态或发送直接消息(我在尝试 DM 时收到 403 禁止)。我提供了一个回调 URL(虽然是假的),所以我想不出为什么这不起作用。任何帮助,将不胜感激。
PS这在Main中运行,不确定是否重要