使用c#在twitter上发布状态更新
本文关键字:状态 更新 布状态 twitter 使用 | 更新日期: 2023-09-27 18:08:02
我能找到的每一个例子要么非常过时,要么总是回到401。有人能提供一个在twitter上发布状态更新的工作示例吗?
即使下面的方法也总是失败。我被重定向到twitter——太好了。我可以确认访问代码是正确的,并匹配我的应用程序,但在实际发布更新-错误是未知的…
这到底是怎么了?不管我用什么应用程序,或者用哪个推特账号。
使用Twitteriser2.dllif (Request["oauth_token"] == null)
{
OAuthTokenResponse reqToken = OAuthUtility.GetRequestToken(
oauth_consumer_key,
oauth_consumer_secret,
Request.Url.AbsoluteUri);
Response.Redirect(string.Format("http://twitter.com/oauth/authorize?oauth_token={0}",
reqToken.Token));
}
else
{
string requestToken = Request["oauth_token"].ToString();
string pin = Request["oauth_verifier"].ToString();
var tokens = OAuthUtility.GetAccessToken(
oauth_consumer_key,
oauth_consumer_secret,
requestToken,
pin);
OAuthTokens accesstoken = new OAuthTokens()
{
AccessToken = tokens.Token,
AccessTokenSecret = tokens.TokenSecret,
ConsumerKey = oauth_consumer_key,
ConsumerSecret = oauth_consumer_secret
};
TwitterResponse<TwitterStatus> response = TwitterStatus.Update(
accesstoken,
"Testing!! It works (hopefully).");
if (response.Result == RequestResult.Success)
{
Response.Write("we did it!");
}
else
{
Response.Write("it's all bad.");
}
}
twitterresponse对象有一个"ErrorMessage"属性。你可能应该先看看里面的信息,给你一些指导。
你为什么不用Tweetinvi呢?Tweetinvi将允许您在一行中发布,并在一行中获得错误信息。下面是一个例子。
TwitterCredentials.SetCredentials("Access_Token", "Access_Token_Secret", "Consumer_Key", "Consumer_Secret");
var tweet = Tweet.PublishTweet("Hello!");
if (tweet == null)
{
var exceptionDetails = ExceptionHandler.GetLastException().TwitterExceptionInfos.First().Message;
}
您可以在这里找到文档:https://tweetinvi.codeplex.com/documentation
如果你正在使用ASP.NET,也可以看看https://tweetinvi.codeplex.com/discussions/536895
终于修好了。这个错误并不完全知道,因为我没有改变代码,但我所做的是重新下载Twitterizwer和构建它(需要添加一个ref到c++组件的任何原因),然后它工作,所以我只能看到它是某种程度上错误的第一次。