如何在twitter c#

时间:2017-07-04 04:44:23

标签: c# .net

我无法实现Twitter的[更新个人资料图片]方法。有没有人有任何示例代码可以将图像作为原始multiart数据传递给Twitter API?

1 个答案:

答案 0 :(得分:2)

直接使用API​​非常简单,只需要对api端点执行POST请求,并将图像的base64作为图像查询字符串的值附加。

POST https://api.twitter.com/1.1/account/update_profile_image.json?image=base64data

读取图像文件并将其转换为base64也很简单。

string base64Data = Convert.ToBase64String(File.ReadAllBytes("image.jpg"));
string url= "https://api.twitter.com/1.1/account/update_profile_image.json?image=" + base64Data

更复杂的部分首先是针对API进行身份验证。假设您已经这样做,上面的代码将满足您的需求。

如果不是,您需要查看库或LinqToTwitter等SDK。维基上有很多例子。

如果您要手动对请求进行编码,请参阅API文档,了解如何构建请求:https://dev.twitter.com/oauth/overview/authorizing-requests

使用Tweetinvi:https://github.com/linvi/tweetinvi/

private class AuthCredentials
{
    public string ConsumerKey = "ConsumerKey";
    public string ConsumerSecret = "ConsumerSecret";
    public string AccessToken = "AccessToken";
    public string AccessTokenSecret = "AccessTokenSecret";
}


static void Main(string[] args)
{
    var creds = new AuthCredentials();
    Auth.SetUserCredentials(creds.ConsumerKey, creds.ConsumerSecret, creds.AccessToken, creds.AccessTokenSecret);
    var data = File.ReadAllText("myimage.jpg");
    Account.UpdateProfileImage(data);
}

Twitter的API文档包含各种语言的库列表:https://dev.twitter.com/resources/twitter-libraries