使用python和twitterApi向tweet添加多个图像?
您好,我一直在尝试使用python中的twitterAPI模块向tweet添加四个图像-不幸的是,下面的代码仅呈现tweet中数据中的一个图像。有人能给我指出正确的方向,在推特上附加四张图片吗?我的代码如下(减去导入和密钥)使用python和twitterApi向tweet添加多个图像?,python,twitter,tweets,Python,Twitter,Tweets,您好,我一直在尝试使用python中的twitterAPI模块向tweet添加四个图像-不幸的是,下面的代码仅呈现tweet中数据中的一个图像。有人能给我指出正确的方向,在推特上附加四张图片吗?我的代码如下(减去导入和密钥) 不推荐使用“状态/使用媒体更新”。以下是首选方法 from TwitterAPI import TwitterAPI TWEET_TEXT = 'some tweet text' IMAGE_PATH = './some_image.png' api = Twitter
不推荐使用“状态/使用媒体更新”。以下是首选方法
from TwitterAPI import TwitterAPI
TWEET_TEXT = 'some tweet text'
IMAGE_PATH = './some_image.png'
api = TwitterAPI(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_TOKEN_KEY,ACCESS_TOKEN_SECRET)
# STEP 1 - upload image
file = open(IMAGE_PATH, 'rb')
data = file.read()
r = api.request('media/upload', None, {'media': data})
print('UPLOAD MEDIA SUCCESS' if r.status_code == 200 else 'UPLOAD MEDIA FAILURE')
# STEP 2 - post tweet with a reference to uploaded image
if r.status_code == 200:
media_id = r.json()['media_id']
r = api.request('statuses/update', {'status':TWEET_TEXT, 'media_ids':media_id})
print('UPDATE STATUS SUCCESS' if r.status_code == 200 else 'UPDATE STATUS FAILURE')
参数列表
media\u id
必须是一个字符串,其中media\u id
用逗号分隔。我也有同样的问题,所以我在上面修改了一点代码,它工作得很好(请原谅,如果不是很清楚的话…)我的图像名为1.jpg,2.jpg
from TwitterAPI import TwitterAPI
api = TwitterAPI(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_TOKEN_KEY,ACCESS_TOKEN_SECRET)
media_ids = ''
for i in range(2): #Set 1 to 4 images (exemple with 2)
TWEET_TEXT = 'some tweet text'
IMAGE_PATH = f'{i}.jpg'
file = open(IMAGE_PATH, 'rb')
data = file.read()
r = api.request('media/upload', None, {'media': data})
print('UPLOAD MEDIA SUCCESS' if r.status_code == 200 else 'UPLOAD MEDIA FAILURE')
if r.status_code == 200:
if i == 0:
media_ids += str(r.json()['media_id'])
else:
media_ids = media_ids + ',' + str(r.json()['media_id'])
#POST IMAGES
r = api.request('statuses/update', {'status':TWEET_TEXT, 'media_ids':media_ids})
print('UPDATE STATUS SUCCESS' if r.status_code == 200 else 'UPDATE STATUS FAILURE')
这清楚地表明了这一点——谢谢。我必须将TwitterAPI升级到最新版本,只需循环浏览4个图像,检索媒体ID并将它们放入字符串中,即可发送所有4个图像。非常感谢。
from TwitterAPI import TwitterAPI
api = TwitterAPI(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_TOKEN_KEY,ACCESS_TOKEN_SECRET)
media_ids = ''
for i in range(2): #Set 1 to 4 images (exemple with 2)
TWEET_TEXT = 'some tweet text'
IMAGE_PATH = f'{i}.jpg'
file = open(IMAGE_PATH, 'rb')
data = file.read()
r = api.request('media/upload', None, {'media': data})
print('UPLOAD MEDIA SUCCESS' if r.status_code == 200 else 'UPLOAD MEDIA FAILURE')
if r.status_code == 200:
if i == 0:
media_ids += str(r.json()['media_id'])
else:
media_ids = media_ids + ',' + str(r.json()['media_id'])
#POST IMAGES
r = api.request('statuses/update', {'status':TWEET_TEXT, 'media_ids':media_ids})
print('UPDATE STATUS SUCCESS' if r.status_code == 200 else 'UPDATE STATUS FAILURE')