经过大量搜索,我终于找到了它。这是回应。
第1步
代码供用户提供链接,并让PIL根据某些条件(与问题无关)调整其大小。 PIL这样打开图像文件链接:
img=Image.open(io.BytesIO(requests.get(url).content))
其中url
是链接。
第二步
然后PIL必须将其保存并在io.BytesIO类上进行seek(0):
blob = io.BytesIO()
img.save(blob, 'JPEG')
blob.seek(0)
response = twitter.upload_media(media=blob);
第3步 根据文档进行:
twitter.update_status(status='Checkout this cool image!', media_ids=[response['media_id']])
Twython的文档已过时,并且StringIO()
已更改包,并且也不会使用字节对象。我也无法理解将字节对象制成字符串然后将其作为字节对象发送的逻辑。
https://twython.readthedocs.io/en/latest/usage/advanced_usage.html
media
参数还接受io.BytesIO
类对象,如上所示,在下面的这个简单示例中:
response = twitter.upload_media(media=io.BytesIO(requests.get(url).content));