C# 使用c向twitter发布状态更新#
我能找到的每一个例子要么非常过时,要么总是回来。 任何人都可以提供一个向twitter发布状态更新的工作示例吗 即使下面的方法也总是失败。 我被重定向到twitter——太好了。我可以确认访问代码是正确的,并且与我的应用程序匹配,但是在实际发布更新时,错误是未知的 这里到底出了什么问题?无论我使用什么应用程序或哪个twitter帐户 使用Twitteriser2.dllC# 使用c向twitter发布状态更新#,c#,twitter,C#,Twitter,我能找到的每一个例子要么非常过时,要么总是回来。 任何人都可以提供一个向twitter发布状态更新的工作示例吗 即使下面的方法也总是失败。 我被重定向到twitter——太好了。我可以确认访问代码是正确的,并且与我的应用程序匹配,但是在实际发布更新时,错误是未知的 这里到底出了什么问题?无论我使用什么应用程序或哪个twitter帐户 使用Twitteriser2.dll if (Request["oauth_token"] == null) { OAuth
if (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.");
}
}
if(请求[“oauth_令牌”]==null)
{
OAuthTokenResponse reqToken=OAuthUtility.GetRequestToken(
oauth_消费者_密钥,
oauth_消费者_机密,
Request.Url.AbsoluteUri);
Response.Redirect(string.Format(“http://twitter.com/oauth/authorize?oauth_token={0}",
请求令牌(Token.Token));
}
其他的
{
string requestToken=Request[“oauth_token”].ToString();
字符串pin=Request[“oauth_验证程序”].ToString();
var tokens=OAuthUtility.GetAccessToken(
oauth_消费者_密钥,
oauth_消费者_机密,
请求令牌,
针);
OAuthTokens accesstoken=新的OAuthTokens()
{
AccessToken=tokens.Token,
AccessTokenSecret=tokens.TokenSecret,
ConsumerKey=oauth_consumer_key,
ConsumerCret=oauth\u consumer\u secret
};
TwitterResponse=TwitterStatus.Update(
accesstoken,
“测试!!它能工作(希望如此)。”;
if(response.Result==RequestResult.Success)
{
回答。写下(“我们做到了!”);
}
其他的
{
回答。写下(“一切都很糟糕。”);
}
}
TwitterRepsonse对象具有“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;
}
您可以在此处找到文档:
另外,还可以看看您是否将其与ASP.NET一起使用。最终使其正常工作。
这个错误并不是完全已知的,因为我不需要改变代码,但是我做的是重新下载Twitter和建立它(需要添加C++的组件作为理由)。然后它就起作用了,所以我只能看到它在第一轮时有某种缺陷。不幸的是,你可能很难得到答案。老实说,社交网络讨厌这种自动化,Pinterest几乎不可能登录和发布。您可能需要寻找更好的解决方案,如Selenium或PhantomJS。Twitter为这类事情提供了API和文档。在这种情况下,您必须找到一种方法来截获来自Twitter的响应。我有两个建议。首先:下载Twitterizer源代码并将其编译到您的应用程序中,然后逐步浏览Twitterizer源代码,直到找到收到响应的位置,并查看Twitter实际上在说什么。这可能是你最好的选择。另一种选择是使用类似Fiddler的工具捕获http响应,并以这种方式查看。