我正在制作一个脚本来检索某人在 Direct Message 上发送的图像。 我需要拿媒体地址来下载图片(稍后我会制作下载图片的代码)
这是检索图像的代码
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth, wait_on_rate_limit=True)
try:
api.verify_credentials()
print("Authentication OK")
except tweepy.errors.TweepyException as e:
print("Error during authentication :", e.message[0]['code'])
messages = api.list_direct_messages(count=3)
for message in reversed(messages):
sender_id = message.message_create["sender_id"]
recipient_id = message.message_create["target"]["recipient_id"]
text = message.message_create["message_data"]["text"]
sender_url = message.message_create["message_data"]["attachment"]
checkString = text.find("post!")
if int(recipient_id) == int(myUserID):
if checkString == -1:
userText = "Please put post! in the beginning of your tweet"
for media in sender_url:
urlImage = media.media["media_url_https"]
print("LINK :", urlImage)
print(f"Message does not contain post!, message : {text}")
try:
api.send_direct_message(sender_id, userText)
except tweepy.errors.TweepyException as e:
print("Error during send direct message :", e.message[0]['code'])
else:
print(f"Message contain post!, message : {text}")
try:
api.update_status(text)
print("Tweet Success")
except tweepy.errors.TweepyException as e:
print("Error during post tweet :", e.message[0]['code'])
但结果是
sender_url = message.message_create["message_data"]["attachment"]
KeyError: 'attachment'
真正的结果一定是
LINK: https://p.twimg.com/XXXXXXXXXXXXXXX
谁能帮我解决这个问题? 主要问题是我只想从从 Direct message 收到的媒体中获取媒体 URL
谢谢!