如何上传到imgur用户的帐户

时间:2014-01-30 04:47:25

标签: c# oauth imgur

我可以使用这样的api上传匿名图片:

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);
    }
}

它正在上传到一个完全随机的网址。我找不到任何显示如何执行此操作的文档,但是是否可以将图像上传到用户的帐户,以便在上传的图像中显示?

3 个答案:

答案 0 :(得分:1)

我明白了。您需要使用imgur的oauth 2 api发送一个"CLIENT-ID"标头,而不是发送"BEARER"标头。这允许您将图像发布到用户的帐户,而在我只提供客户端ID之前,这允许我发布匿名图像。代码如下所示:

client.Headers.Add("Authorization", "BEARER " + accessToken);

答案 1 :(得分:0)

要添加到Ivan Chub的答案......我只是被困在python上传到我的imgur帐户一分钟,直到我尝试将BEARER更改为Bearer。

req.add_header("Authorization", "Bearer " + imgur_access_token)

答案 2 :(得分:0)

如果从命令行使用 curl

curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -F "image=@PATH_TO_YOUR_IMAGE_FILE" https://api.imgur.com/3/upload

有关https://planspace.org/2013/01/13/upload-images-to-your-imgur-account/的更多信息

相关问题