Imgur API未能更改现有图片描述

5 投票
3 回答
1121 浏览
提问于 2025-04-17 16:12

我在用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,因为你是想修改一个已经存在的资源,而不是创建一个新的。

撰写回答