Twilio python MessagingResponse.message.media 不适用于 mp3 音频

问题描述

@app.route('/bot',methods=['POST'])
def bot():

    content = request.form.get('Body').lower()

    resp = MessagingResponse()
    msg = resp.message()

    responded = False

    if 'hi' in content:
        msg.media(url_for('static',filename='bonjour.mp3'),content_type='audio/mpeg')
        responded = True
    if not responded:
        msg.body('no')
    return str(resp)

这是我回复 Whatsapp 消息的代码。如果你说“嗨”,它应该向你发送我保存的 mp3 音频(我检查了路径是否正确),如果你说其他的话,它只会说“不”。但是当我发送带有 'hi' 的消息时,我在 Twilio 调试部分收到此错误error 12200

解决方法

您传递给 media() 的网址必须是公开可用的媒体文件的绝对网址,而不是相对网址。

在您的情况下不是 /static/bonjour.mp3,而是类似于 https://yourdomain.com/static/bonjour.mp3

还要省略 content_type