c# - 直接上传图片到推特

标签 c# windows-phone-7 twitter

我需要有关在 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
        }
}

在这里, photoName 是所选图像的名称(“e.OriginalFileName”) photoStream 是来自 PhotoChooserTask 的“e.ChosenPhoto”

应该注意 .AddFile() 的第 4 个参数(我在做这个示例时没有考虑其他格式,你必须在你的应用程序中注意)

希望对您有所帮助!!

关于c# - 直接上传图片到推特,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10430165/

相关文章:

c# - 如何获取网络接口(interface)的状态?

windows-phone-7 - 从主应用程序磁贴中删除动态磁贴功能

python - 获取在 Twitter 上关注某个人的所有用户

c# - XAML 在 Visual Studio 中不刷新

c# - ApplicationSettingsBase ConfigurationErrorsException 多个程序集

c# - CRC 函数从 C 到 C# 的转换产生错误值

android - 我是否需要单独的 Twitter 应用程序来与 iOS 和 Android 应用程序 + Web 集成?

C# - 使用 EnterWriteLock 锁定问题

c# - 当前时间的时区缩写?

ios - 在 Swift 中的原型(prototype)单元之前实现独特的 UITableView 单元