使用Imgur API进行身份验证

时间:2016-09-13 14:28:18

标签: python api imgur

所以我正在编写一个简单的脚本,可以自动从Imgur下载图像。我曾经遇到过Imgur API,但我正在努力让它发挥作用。我注册了一个应用程序,但不知道如何使用它来获取有关图像或相册的信息。我不希望能够以用户或类似的方式登录 - 只需提供相册或单个图像的URL并能够下载它。

我已经读过,如果我想这样做,那么我就不需要使用oauth的东西了,我应该能够使用客户端ID。

https://www.reddit.com/r/learnprogramming/comments/2uzxfv/how_do_i_get_fully_authenticated_to_use_imgurs_api/

我写的脚本是使用Python,但只是为了测试我在浏览器中输入URL的API。如果我转到以下网址:

https://api.imgur.com/3/album/qTt8G?client_id=MY_CLIENT_ID

然后我收到以下回复:

  

{"数据" {"错误":"验证   所需""请求":" / 3 /专辑/ qTt8G""方法":" GET"}&#34 ;成功":假,"状态":401}

完整的相册网址为https://imgur.com/a/qTt8G 我已经尝试过阅读API文档,但我坚持这一点。

有用信息:

https://api.imgur.com/oauth2

https://api.imgur.com/endpoints/album

2 个答案:

答案 0 :(得分:1)

您必须在GET请求的标头中提供客户端ID。您正在使用查询参数发送它。 HTTP Headers vs query parameters

您可以使用Postman。 在Python代码中,您可以使用requests库:

import requests

url = "https://api.imgur.com/3/album/{{albumHash}}"

headers = {'Authorization': 'Client-ID {{clientId}}'}

response = requests.request("GET", url, headers=headers)

print(response.text)

有关更多信息,请查看imgur api docs

答案 1 :(得分:0)

最后,我只使用了Github上提供的Imgur API帮助程序来完成所有工作。只需要提供客户端ID和密码。

https://github.com/Imgur/imgurpython