Imgur API未能更改现有图片描述
我在用Python 2.7的requests库,想通过API来修改之前上传的图片描述。根据Imgur的API手册,我用了这个代码:
r = requests.post('https://api.imgur.com/3/image/'+submission['id'], \
headers={'Authorization':'Bearer '+access_token}, \
data={'description':'blahblahblah'}, verify=False)
但是我收到的返回结果是这个:
{u'status': 200, u'data': False, u'success': True}
从我看到的情况来看,OAUTH(身份验证)是正常工作的,但API返回的结果是“False”,所以描述没有被更改。我在其他地方找不到关于这个特定接口的更多指导。有没有什么想法?
3 个回答
0
我知道这个问题已经很老了,但也许能帮到某些人。对我来说,这个方法有效。
添加一个头部:
'Content-Type': 'application/json'
然后在 requests.post
中使用 json
,而不是 data
r = requests.post(url,
headers={'Authorization':'Bearer '+access_token, 'Content-Type': 'application/json'},
json={'description':'blahblahblah'}, verify=False)
0
我之前也遇到过这个问题(使用perl),当我通过imgur的API v3尝试更改标题或描述时,总是收到一个“成功”的消息,但实际上并没有任何变化。后来我发现问题出在这里:我需要手动设置请求的“Content-Type: application/json”这个头信息,才能让请求被正确处理。如果不这样做,虽然会返回200的“成功”消息,但实际上并没有做任何更改。这个问题还让我在使用新API上传图片时遇到了麻烦,直到我修正了这个问题。
0
也许可以试试用 requests.put,而不是 requests.post,因为你是想修改一个已经存在的资源,而不是创建一个新的。