gju*_*anm 5 c# oauth tweetsharp twitpic windows-phone-7
我正在尝试使用WP7应用程序中的TweetSharp和Hammock库将图片上传到Twitpic.上传照片的代码是:
// Clients.srv is a TweetSharp TwitterClient
RestRequest req = Clients.srv.PrepareEchoRequest();
RestClient client = new RestClient { Authority = "http://api.twitpic.com/", VersionPath = "2" };
req.AddFile("media", e.OriginalFileName, e.ChosenPhoto);
req.AddField("key", "hidden");
req.AddField("message", Tweet.Text);
req.Path = "upload.xml";
req.Method = Hammock.Web.WebMethod.Post;
client.BeginRequest(req, (RestCallback) uploadCompleted);
Run Code Online (Sandbox Code Playgroud)
对代码的一些解释:这来自对photoPickerTask的调用,e是包含照片名称和文件(IO.Stream对象)的事件参数.所有这些都经过验证可行.
问题是Twitpic的响应始终是"无法验证您:Twitter拒绝的标题".TwitterClient工作,OAuth令牌都可以.API密钥是正确的.我不知道错误是来自我的代码,来自TweetSharp PrepareEchoRequest()函数还是来自Twitpic.谁能给我一个线索?
今天我已经有太多时间遇到同样(和类似)的麻烦了。我最终通过将版本路径更改为 1 并将所有令牌输入到请求中(如 twitpic doco 中所述)使其正常工作。我以为我昨天尝试了这个确切的组合,但它现在正在工作,所以祈祷 api 在此期间不会更新。
TwitterService service = new TwitterService(consumerKey, consumerSecret);
service.AuthenticateWith(accessToken, accessTokenSecret);
if (thumbnail != null) // an image post - go through twitpic
{
MemoryStream ms = new MemoryStream();
thumbnail.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
ms.Seek(0, SeekOrigin.Begin);
// Prepare an OAuth Echo request to TwitPic
RestRequest request = service.PrepareEchoRequest();
request.Path = "uploadAndPost.xml";
request.AddField("key", twitpicApiKey);
request.AddField("consumer_token", consumerKey);
request.AddField("consumer_secret", consumerSecret);
request.AddField("oauth_token", accessToken);
request.AddField("oauth_secret", accessTokenSecret);
request.AddField("message", "Failwhale!");
request.AddFile("media", "failwhale" + Environment.TickCount.ToString(), ms, "image/jpeg");
// Post photo to TwitPic with Hammock
RestClient client = new RestClient { Authority = "http://api.twitpic.com/", VersionPath = "1" };
RestResponse response = client.Request(request);
return response.Content;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1287 次 |
| 最近记录: |