使用 Imgur 进行身份验证 API

Authentication With Imgur API

所以我正在编写一个可以自动从 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,但只是为了测试 API,我在浏览器中输入了 URL。如果我转到以下 URL:

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

然后我收到以下回复:

{"data":{"error":"Authentication required","request":"/3/album/qTt8G","method":"GET"},"success":false,"status":401}

完整专辑 URL 是 https://imgur.com/a/qTt8G 我已经尝试通读 API 文档,但我仍然坚持这一点。

有用信息:

https://api.imgur.com/oauth2

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

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

https://github.com/Imgur/imgurpython

您必须在 GET 请求的 header 中提供 client-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 了解更多。