我尝试在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"); }
}
答案 0 :(得分:0)
解决, 我用过最新版本的Nuget,显然有问题。 这一次,我没有使用这些工具,而是使用git中的开源项目twittrizer,并添加了作为项目的参考,我的问题得到了解决。 非常感谢@DigitallyBorn,他曾帮助过这个主题。 从www.twitterizer.net
获取开源twittrizer