5

我在 Python 2.7 中使用请求来尝试使用 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”,并且描述没有改变。我在任何地方都找不到关于这个特定端点的任何进一步的指导。有任何想法吗?

4

3 回答 3

0

我遇到了同样的问题(使用 perl),在尝试通过 imgur API v3 更改标题/描述时收到“成功”消息,尽管实际上没有发生任何更改,最后发现了问题:我必须手动设置“内容-Type: application/json" 待处理请求的标头。不这样做会返回 200/success 消息,但没有进行实际更改。在更正之前,同样的问题阻止了我使用新 API 上传图像。

于 2013-10-21T17:45:49.637 回答
0

也许尝试 requests.put 而不是 requests.post (您想修改现有资源,而不是创建一个)

于 2013-06-25T11:30:32.877 回答
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)
于 2015-12-11T14:26:49.163 回答