这是一个跟进问题: uploading a file to imgur via python
我刚刚将图片上传到Imgur,但我注意到它不是公开的。在他们的API网站上,他们说如果你希望它上传后,你应该将它提交给画廊。
我编写了一个可以用一个图像执行此操作的小应用程序,但我不确定它是否无效,因为我没有正确地提出请求,或者因为我可能会丢失使用Oauth2模块,到目前为止我没有要求使用它(我只是上传图片,但我不需要查看其他用户使用我的应用程序上传的内容)。
import base64
import json
import requests
from base64 import b64encode
client_id = '6a06c6bb8360e78'
headers = {"Authorization": "Client-ID 6a06c6bb8360e78"}
api_key = '6a06c6bb8360e78'
url = "https://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'
}
)
data=json.loads(j1.text)['data']
data_id=data['id']
data_id_str=data_id.encode('ascii','ignore')
# Now I try to push the iamge to the gallery with id data:
url_gallery = "https://api.imgur.com/3/gallery/image/{id}.json"
r2 = requests.post(url_gallery, headers=headers, data={'title': 'First image', 'terms': '1', 'id': data_id_str})
我做完后得到的答案: r2.text 是一个403错误:
u'{"data":{"error":"Unauthorized",
"request":"\\/3\\/gallery\\/image\\/{id}.json",
"parameters":"terms = 1, id = 1jhIc2R, title = First
image","method":"POST"},"success":false,"status":403}'
这是用于提交图片的Imgur API链接,我不确定我在哪里做错了:https://api.imgur.com/endpoints/gallery#to-gallery
答案 0 :(得分:3)