c# - 如何上传到 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 " + 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);
    }
}

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

最佳答案

我想通了。您无需发送 "CLIENT-ID" header ,而是需要发送一个 "BEARER" header ,以及您使用 imgur 的 oauth 2 api 收到的 token 。 .这允许您将图像发布到用户的帐户,而之前我只提供客户 ID,这允许我发布匿名图像。代码如下所示:

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

关于c# - 如何上传到 imgur 用户的帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21448005/

相关文章:

c# - SelectionChanged 事件后无法重置 LongListSelector 中 Grid 的视觉状态

c# - 将自定义 WSDL 绑定(bind)到现有 WCF 服务

image - 将用户的个人资料照片上传到 imgur 而无需对 imgur 进行用户身份验证

javascript - 如何上传图片到imgur相册?

Imgur API 授权问题

C#:如何判断在 ListView 中选择了哪个项目索引?

c# - ID一次性接口(interface)

php - 简单的 Twitter Oauth 授权每次都要求提供凭据

java - Spring boot 中匿名用户的 oAuth token

android - OAuth、Twitter 和 Android : fails in http-communication with the server 问题