使用c#将状态更新发布到twitter

时间:2014-06-11 11:59:01

标签: c# twitter

我能找到的每个例子要么非常过时,要么总是回来401。 任何人都可以提供一个向twitter发布状态更新的工作示例吗?

即便是以下也总是失败。 我被重定向到推特 - 很棒。我可以确认访问代码是否正确并匹配我的应用程序,但是在实际发布更新时 - 错误未知......

这究竟出了什么问题?无论我使用什么应用程序或哪个Twitter帐户。

使用Twitteriser2.dll

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.");
            }
        }

3 个答案:

答案 0 :(得分:0)

TwitterRepsonse对象有一个&#34; ErrorMessage&#34;属性。你应该从查看那里的信息开始给你一些指导。

答案 1 :(得分:0)

为什么不使用Tweetinvi。 Tweetinvi将允许您在1行发布并获得错误消息。这是一个例子。

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

答案 2 :(得分:0)

最终让它发挥作用。 故障并不完全清楚,因为我不需要更改代码,但我所做的是重新下载Twitterizwer并构建它(需要为任何原因添加一个参考C ++组件的参考)然后它工作,所以我只能看到它第一次出现故障。