我在使用 python 请求模块和 Imgur API 将图像上传到 Imgur 时遇到问题。
我的代码如下:
import base64
import json
import requests
from base64 import b64encode
client_id = 'my-client-id'
headers = {"Authorization": "Client-ID my-client-id"}
api_key = 'my-api-key'
url = "http://api.imgur.com/3/upload.json"
j1 = requests.post(
url,
headers = headers,
data = {
'key': api_key,
'image': b64encode(open('1.jpg', 'rb').read()),
'type': 'base64',
'name': '1.jpg',
'title': 'Picture no. 1'
}
)
我通常会收到 400 响应错误。我不确定 myu client_id 是否错误,或者我的请求是否错误(我对 url 请求的经验很少),或者我是否使用了错误的 Imgur API。
提交后,我还想获取图像的网址。我不确定 API 是否有一个命令,或者 python.requests 模块是否有一个技巧可以让我获取我刚刚发布的数据(POST)。
此处回答了一个非常相似的问题,并且代码确实有效!:向 Imgur 发送文件时遇到问题
但是,当我使用我的 client_id,插入代码中使用的应用程序 ID 时,它返回了 400 错误,以及当我更改时
从:url =“ http://api.imgur.com/2/upload.json ”到:url =“ http://api.imgur.com/3/upload.json ”