我正在创建我的第一个 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': .....)
它就在那里,只是不知道如何得到它。
如有任何指点,我们将不胜感激。
response.json文件的结构是这样的:
因此,要获取推文 ID,请替换:
tweetID = tweet.id
使用以下代码行:
tweetID = tweet.data['id']
# For integer data type
# tweetID = int(tweet.data['id'])
欲了解更多信息:
我希望这有帮助。