如何使用 tweepy API V 2 创建推文

Abh*_*dal 1 python twitter bots tweepy

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')

Run Code Online (Sandbox Code Playgroud)

我正在使用 tweepy V2 但我不知道如何上传照片+描述

有人帮助我吗?我想在 Twitter 上发布带有文字的图像,我有 3 张图像

Zak*_*bra 6

查看现有的答案 - 它不起作用的原因是因为您需要使用 v1 端点来上传媒体;不是 v2。使用 tweepy.Client 仅使用 v2 端点。

您可以通过使用两个客户端来解决这个问题,一个用于上传,一个用于创建推文:

import tweepy

ACCESS_KEY = 'xxxx'
ACCESS_SECRET = 'xxxx'
CONSUMER_KEY = 'xxxx'
CONSUMER_SECRET = 'xxxx'




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


auth = tweepy.OAuth1UserHandler(
    CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET
)
oldapi = tweepy.API(auth)
media1 = oldapi.media_upload("img1.jpg")
media2 = oldapi.media_upload("img2.jpg")
media3 = oldapi.media_upload("img3.jpg")

api.create_tweet(text='I want to Post 3 Photos and description',media_ids=[media1.media_id, media2.media_id, media3.media_id])
Run Code Online (Sandbox Code Playgroud)

另请注意,id 是media_id在输出上调用的media_upload- 这在 api 文档中并不是很清楚,它被称为idhttps ://developer.twitter.com/en/docs/twitter-api/v1/data-dictionary /对象模型/实体#media

如果您遇到与该错误相关的问题,您可能需要此解决方法 453 - You currently have access to a subset of Twitter API v2 endpoints and limited v1.1 endpoints (e.g. media post, oauth) only