如何使用 twilio rest api 获取媒体消息 URL?

How to get a media messages URL using the twilio rest api?

我正在尝试收集用户在 python 函数中发送的媒体消息的 URL。理论上(根据这个 https://www.twilio.com/blog/retrieving-twilio-mms-image-urls-in-python 教程)我下面的 python 代码应该适用于此:

last_message = client.messages.list(limit = 1)
last_message_instance = last_message[0]
media = last_message_instance
media_url = 'https://api.twilio.com' + media.uri[:-5]

但是,由于某些原因,media.uri 参数没有 return url 所需的所有三个 sid(AccountSid、MessageSid、Sid)字符串。 url 应该由以下组成:

https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media/{Sid}.json

.uri return只有我的 AccountSid 和发送消息的 MessageSid(有趣的是,在 json 消息中标记为 Sid,如下所示)

"sid": "MMbde22b567bf7e3c77fcd4fe01d286446",

有没有人知道如何找到我需要的 Media/{Sid} 术语(这通常以 MEXxXxXxX 开头)谢谢!

我认为这里的问题是您只是向 API 发出请求以获取消息,这就是为什么您没有关于媒体的详细信息。

您可以通过调用 last_message_instance.media.list() 请求消息的媒体。其结果将是一个媒体对象列表,您可以从中获取媒体 URL.

last_message = client.messages.list(limit = 1)
last_message_instance = last_message[0]
    for media in last_message_instance.media.list():
        media_url = 'https://api.twilio.com' + media.uri[:-5]
        print(media_url)