twitter - Twython 无法上传图片并响应“Twitter API 返回 400(错误请求)”
问题描述
Twython 版本 3.8.2 Python:3.6.8
我似乎无法上传图片作为推文的一部分。我收到 400 Bad Request 错误,但我无法确定如何或为什么。我可以毫无问题地使用“update_status(msg)”调用发送推文,所以我知道凭据很好。要上传的图片文件是本地且可读的 (rw-rw-rw) 有没有办法从 Twitter 返回的响应中获取更多细节?
twitter = Twython(
consumer_key,
consumer_secret,
access_token_key,
access_token_secret)
message="Hello World"
photo = open('/tmp/beach.jpg')
response = twitter.upload_media(media=photo)
twitter.update_status(status=message, media_ids=[response['media_id']])
Traceback (most recent call last):
File "twitter2.py", line 31, in <module>
response = twitter.upload_media(media=photo)
File "/home/me/python-virtual-enviros/slack_api/lib64/python3.6/site-packages/twython/endpoints.py", line 162, in upload_media
return self.post('https://upload.twitter.com/1.1/media/upload.json', params=params)
File "/home/me/python-virtual-enviros/slack_api/lib64/python3.6/site-packages/twython/api.py", line 282, in post
return self.request(endpoint, 'POST', params=params, version=version, json_encoded=json_encoded)
File "/home/me/python-virtual-enviros/slack_api/lib64/python3.6/site-packages/twython/api.py", line 272, in request
api_call=url, json_encoded=json_encoded)
File "/home/me/python-virtual-enviros/slack_api/lib64/python3.6/site-packages/twython/api.py", line 204, in _request
retry_after=response.headers.get('X-Rate-Limit-Reset'))
twython.exceptions.TwythonError: Twitter API returned a 400 (Bad Request), An error occurred processing your request.
解决方案
文件已损坏。有了一个好的文件,上面的代码就可以正常工作并且没有返回错误。
推荐阅读
- c# - ModelState.IsValid 不断返回为假?
- acumatica - 如何修改现有属性的基本代码
- javascript - 如何使对象属性的值可从输入标签中搜索
- kubernetes - 将 Cassandra 数据存储在 MapR 和 hdfs 等其他分布式文件系统上是否可行?
- python - 每当我尝试将值放入训练数据时,它都会显示关键错误
- python - 使用 CNN 从图像中识别文本
- javascript - Javascript Timer 不一致
- c++ - 由于 Hackerrank 中的超时而终止(在 cpp 中使用 malloc)
- javascript - 在 Javascript 中实现类似 jquery 的 addClass、removeClass 和 delay 函数
- ruby-on-rails - Capistrano Rails 部署后重启服务