10

我正在尝试通过 C# 通过 Imgur 版本 3 API 匿名获取图像数据(如图像大小)。他们的文件指出

API 要求每个客户端使用 OAuth 2 身份验证。这意味着如果您想以用户身份登录,您必须注册您的应用程序并生成一个 access_code。

对于公共只读和匿名资源,例如获取图像信息、查找用户评论等,您只需在请求中发送带有您的 client_id 的授权标头即可。如果您想匿名上传图片(不将图片绑定到帐户),或者您想创建匿名相册,这也适用。这让我们知道哪个应用程序正在访问 API。

授权:客户 ID YOUR_CLIENT_ID

因此,我将 Client-ID 作为标头添加到我的 HttpWebRequest。下面是我的代码。

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("https://api.imgur.com/3/image/id/8ABRUYt");
webRequest.Headers.Add("Authorization", "Client-ID XXXXX");
Stream response = webRequest.GetResponse().GetResponseStream();
StreamReader reader = new StreamReader(response);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
reader.Close();
response.Close();

我收到 404 错误,但该图像显然存在 -> http://imgur.com/8ABRUYt(银河系图片)。我做错什么了吗?

4

1 回答 1

5

你的第一行应该是

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("https://api.imgur.com/3/image/8ABRUYt");

正确的网址是“ https://api.imgur.com/3/image/ {id}” - {id} 是您的图片 ID。

您的帖子极大地帮助了我从 imgur 上简单地查看图片开始!我会投票给你,但这需要 15 声望 :( 当我可以的时候,我一定会代表你 :)

于 2013-06-28T21:23:39.233 回答