Python tweepy create_tweet 获取创建推文的 id

问题描述 投票:0回答:1

我正在创建我的第一个 Twitter 机器人,并且已经成功创建了这条推文。现在我正在尝试将推文的 id 添加到 xml 文件中。我能够获取上传视频的 ID,但获取创建的推文 ID 时遇到问题。

代码片段(从 stackoverflow 答案复制)

import tweepy

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 = client_v1.media_upload(media_path, chunked=True, media_category='tweet_video')
media_id = media.media_id

tweetText = 'created a tweet'

tweet = client_v2.create_tweet(text=tweetText)

删除了在推文中添加的视频以加快测试速度。

我不知道如何获取刚刚创建的推文的 ID。 tweepy 文档让我难以理解。搜索谷歌,只是为了得到如何通过 id 获取推文或获取推文并解析它们的结果。

我试过了

tweetID = tweet.id

并出现以下错误

AttributeError: 'Response' object has no attribute 'id'

当我添加时

print(tweet)

我看到以下内容

Response(data={'edit_history_tweet_ids': ['1696308550870671480'], 'id': '1696308550870671480', 'text': .....)

它就在那里,只是不知道如何得到它。

如有任何指点,我们将不胜感激。

python python-3.x tweepy tweets
1个回答
0
投票

response.json文件的结构是这样的:

因此,要获取推文 ID,请替换:

tweetID = tweet.id

使用以下代码行:

tweetID = tweet.data['id']
# For integer data type
# tweetID = int(tweet.data['id']) 

欲了解更多信息:

https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets#tab0

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.