【发布时间】:2021-07-29 01:04:17
【问题描述】:
@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。 -
哦,好的,谢谢@yvesonline,但要做到这一点,我应该再做一个
@app.route? -
我不知道你的设置,所以无论你做什么来提供静态文件。我个人使用 S3 存储桶。确保首先使用公开可用的
mp3文件对其进行测试。我会在一分钟内将我的评论转换为正确的答案。
标签: python xml twilio whatsapp