Tweepy使用media_upload上传带文图片报错Unexpected parameter: status
问题原因
你报错的核心原因是参数传错了方法:
api.media_upload()仅负责将媒体资源上传到Twitter后台,本身不承担发布推文的功能,官方接口定义中不存在status参数,所以传入该参数会直接触发「Unexpected parameter: status」报错,自然也不会生成推文。api.update_status()才是负责发布推文的接口,支持传入status参数写文案、media_ids参数绑定提前上传好的媒体资源,所以你单独调用它发纯文字能正常运行。
解决方法
正确的带图推文发布流程分两步走:
- 调用
media_upload上传图片,获取返回的媒体ID - 调用
update_status同时传入文案和媒体ID,完成推文发布
对应代码示例:
# 上传图片获取媒体对象 media_obj = api.media_upload("/Users/me/p1/images/" + img_file) # 发布带图推文 post = api.update_status(status=fileName[:-6], media_ids=[media_obj.media_id])
内容的提问来源于stack exchange,提问作者Kero
相关产品推荐
相关产品推荐

