对于 v2 免费版本,tweepy.API (v1.1)
没有权限再发送推文(至少在我的情况下),但仍然可以上传媒体并检索 media_id。
您可以做的是同时使用 v1.1 和 v2 (tweepy.Client
) 为了这。
代码如下:
def get_twitter_conn_v1(api_key, api_secret, access_token, access_token_secret) -> tweepy.API:
"""Get twitter conn 1.1"""
auth = tweepy.OAuth1UserHandler(api_key, api_secret)
auth.set_access_token(
access_token,
access_token_secret,
)
return tweepy.API(auth)
def get_twitter_conn_v2(api_key, api_secret, access_token, access_token_secret) -> tweepy.Client:
"""Get twitter conn 2.0"""
client = tweepy.Client(
consumer_key=api_key,
consumer_secret=api_secret,
access_token=access_token,
access_token_secret=access_token_secret,
)
return client
client_v1 = get_twitter_conn_v1(api_key, api_secret, access_token, access_token_secret)
client_v2 = get_twitter_conn_v2(api_key, api_secret, access_token, access_token_secret)
media_path = "path_to_media"
media = client_v1.media_upload(filename=media_path)
media_id = media.media_id
client_v2.create_tweet(text="Tweet text", media_ids=[media_id])
希望能帮助到你!