Gok*_*avi 5 c# twitter windows-phone-7
我需要帮助将图像直接上传到Windows Phone 7中的Twitter.
我完成了Twitter的oauth流程,也可以更新推文,但我无法使用wp7将图像上传到twitter?
我通过使用Hammock.WindowsPhone.Mango库为此制定了解决方案.(TweetSharp内部使用Hammock库来实现oAuth和其他功能,但我从未使用过TweetSharp或Twitterizer)
我从Nuget安装了最新版本的Hammock
然后使用以下代码将照片上传到Twitter:
public void uploadPhoto(Stream photoStream, string photoName)
{
var credentials = new OAuthCredentials
{
Type = OAuthType.ProtectedResource,
SignatureMethod = OAuthSignatureMethod.HmacSha1,
ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
ConsumerKey = TwitterSettings.consumerKey,
ConsumerSecret = TwitterSettings.consumerKeySecret,
Token = TwitterSettings.accessToken,
TokenSecret = TwitterSettings.accessTokenSecret,
Version = "1.0a"
};
RestClient restClient = new RestClient
{
Authority = "https://upload.twitter.com",
HasElevatedPermissions = true,
Credentials = credentials,
Method = WebMethod.Post
};
RestRequest restRequest = new RestRequest
{
Path = "1/statuses/update_with_media.json"
};
restRequest.AddParameter("status", tbxNewTweet.Text);
restRequest.AddFile("media[]", photoName, photoStream, "image/jpg");
}
restClient.BeginRequest(restRequest, new RestCallback(PostTweetRequestCallback));
}
private void PostTweetRequestCallback(RestRequest request, Hammock.RestResponse response, object obj)
{
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
//Success code
}
}
Run Code Online (Sandbox Code Playgroud)
这里,photoName是所选图像的名称("e.OriginalFileName")photoStream是PhotoChooserTask中的"e.ChosenPhoto"
并且应该注意.AddFile()的第4个参数(在执行此示例时我没有考虑其他格式,您必须小心处理您的应用程序)
我希望这有帮助!!
| 归档时间: |
|
| 查看次数: |
5349 次 |
| 最近记录: |