使用twitterizer将图片上传到twitter

时间:2015-06-15 08:22:23

标签: asp.net twitter twitterizer

我尝试在twitterizer组件中使用我的推文上传图片。我发送推文没有任何错误,但UpdateWithMedia有错误。 我认为这是因为我的请求网址是" https://upload.twitter.com/1/statuses/update_with_media.json"而Shoujd是" https://upload.twitter.com/1.1/statuses/update_with_media.json"。 我该如何更改我的RequestUrl。 我的Contetnt错误是:" {"错误":[{" message":" Twitter REST API v1不再有效。请迁移到API v1.1。 https://dev.twitter.com/docs/api/1.1/overview""代码":64}]}"

我在stackoverflow中看到很多解决方案但是解决这个问题并不是什么问题

var oauth_consumerkey = "UEI02iC13cR8o8rgNyLpBpOmW";
        var oauth_consumersecret = "RaTQoZaxq51eHR51TbTKK762eSu5u5s7FoPPswyWMJlscuC6j0";
        const string callbackurl = "http://localhost:2008/WebForm1.aspx";
        if (Request["oauth_token"] == null)
        {
            OAuthTokenResponse reqtoken = OAuthUtility.GetRequestToken(
                oauth_consumerkey,
                oauth_consumersecret,
                callbackurl);

            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 token = OAuthUtility.GetAccessToken(
                oauth_consumerkey,
                oauth_consumersecret,
                requesttoken,
                pin);

            OAuthTokens accesstoken = new OAuthTokens()
            {
                AccessToken = token.Token,
                AccessTokenSecret = token.TokenSecret,
                ConsumerKey = oauth_consumerkey,
                ConsumerSecret = oauth_consumersecret
            };

            byte[] photo = ImageToByteArray("C:\\black_arrow.png");
            TwitterResponse<TwitterStatus> response = TwitterStatus.UpdateWithMedia(accesstoken, "Testing!! Send Image", photo, new StatusUpdateOptions() { UseSSL = true, APIBaseAddress = "http://api.twitter.com/1.1/" });
            if (response.Result == RequestResult.Success)
            { Response.Write("OK"); }
            else
            { Response.Write("Faild"); }
        }

1 个答案:

答案 0 :(得分:0)

解决, 我用过最新版本的Nuget,显然有问题。 这一次,我没有使用这些工具,而是使用git中的开源项目twittrizer,并添加了作为项目的参考,我的问题得到了解决。 非常感谢@DigitallyBorn,他曾帮助过这个主题。 从www.twitterizer.net

获取开源twittrizer