C# 如何上传到imgur用户';s账户
我可以使用如下api将匿名图像上传到imgur:C# 如何上传到imgur用户';s账户,c#,oauth,imgur,C#,Oauth,Imgur,我可以使用如下api将匿名图像上传到imgur: public static void UploadImage() { Image image = GetImage(); string base64 = Util.ImageToBase64(image); using (WebClient client = new WebClient()) { client.Headers.Add("Authorization", "Client-ID " +
public static void UploadImage()
{
Image image = GetImage();
string base64 = Util.ImageToBase64(image);
using (WebClient client = new WebClient())
{
client.Headers.Add("Authorization", "Client-ID " + clientID);
NameValueCollection data = new NameValueCollection();
data["image"] = base64;
data["type"] = "base64";
byte[] responsePayload = client.UploadValues("https://api.imgur.com/3/image/", "POST", data);
string response = Encoding.ASCII.GetString(responsePayload);
}
}
client.Headers.Add("Authorization", "BEARER " + accessToken);
它正在上传到一个完全随机的url。我找不到任何说明如何执行此操作的文档,但是否可以将图像上载到用户的帐户,以便在他们上载的图像中显示它?我找到了答案。您不需要发送
“CLIENT-ID”
头,而需要发送“BEARER”
头,以及使用imgur的接收令牌。这允许您将图像发布到用户帐户,而在此之前,我只提供客户端id,这允许我发布匿名图像。代码如下所示:
public static void UploadImage()
{
Image image = GetImage();
string base64 = Util.ImageToBase64(image);
using (WebClient client = new WebClient())
{
client.Headers.Add("Authorization", "Client-ID " + clientID);
NameValueCollection data = new NameValueCollection();
data["image"] = base64;
data["type"] = "base64";
byte[] responsePayload = client.UploadValues("https://api.imgur.com/3/image/", "POST", data);
string response = Encoding.ASCII.GetString(responsePayload);
}
}
client.Headers.Add("Authorization", "BEARER " + accessToken);
为了补充伊凡·朱布的答案。。。我只是在用python上传到我的imgur帐户时被卡住了一分钟,直到我尝试将承载者更改为承载者
req.add_header("Authorization", "Bearer " + imgur_access_token)
如果从命令行使用curl
curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -F "image=@PATH_TO_YOUR_IMAGE_FILE" https://api.imgur.com/3/upload
更多关于