如何使用Tweepy API V2创建推文

2022-02-21 00:00:00 python tweepy bots twitter

问题描述

import tweepy

ACCESS_KEY = 'XXXXXXXXXXXXXXXXXXX'
ACCESS_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXXXXX'
CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXX'


api = tweepy.Client(bearer_token='XXXXXXXXXXXXXXXXXXX',
                    access_token=ACCESS_KEY,
                    access_token_secret=ACCESS_SECRET,
                    consumer_key=CONSUMER_KEY,
                    consumer_secret=CONSUMER_SECRET)

api.create_tweet(text='I want to Post 3 Photos and description')

我正在使用Tweepy V2,但我不知道如何上传照片和说明

有人帮助我吗?我想推送带文字的图片,我有3张图片


解决方案

必须做一些调查,因为我没有使用Tweepy的经验,但我想我找到了答案。

当您发送推文时,您可以使用";媒体ID";附加媒体。有点像这样:

api.create_tweet(text = 'Images can be fun too!', media = {media_ids = ["1455952740635586573", "1234567890"]})
media_ids列表可以包含多个介质ID。但是,您需要将图像上载到Twitter以获取媒体ID。

Tweepy提供文件上传功能,使用方法如下:

mediaID = api.media_upload(filename)

只需上传您的文件,将其放入字典,然后发送您的推文!

我做了一个小示例,您可以将其添加到程序的末尾。

import tweepy

ACCESS_KEY = 'XXXXXXXXXXXXXXXXXXX'
ACCESS_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXXXXX'
CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXX'


api = tweepy.Client(bearer_token='XXXXXXXXXXXXXXXXXXX',
                    access_token=ACCESS_KEY,
                    access_token_secret=ACCESS_SECRET,
                    consumer_key=CONSUMER_KEY,
                    consumer_secret=CONSUMER_SECRET)

mediaID1 = mediaID = api.media_upload("media1.png")
mediaID2 = mediaID = api.media_upload("image2.png")
mediaID3 = mediaID = api.media_upload("image3.png")

api.create_tweet(text='I want to Post 3 Photos and description',
                 media={media_ids=[mediaID1,mediaID2,mediaID3]})
如果您需要更准确地描述Twitter API,请参阅Twitter文档: https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets https://developer.twitter.com/en/docs/twitter-api/v1/media/upload-media/api-reference/post-media-upload

我对Python还有点生疏,这是我第一次使用Stackoverflow,但这个应该可以工作。

相关文章