python - 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 调试部分收到此错误: 错误 12200
解决方案
您传递给的 URL 必须media()
是公开可用的媒体文件的绝对 URL,而不是相对 URL。
在您的情况下,不是/static/bonjour.mp3
,而是类似https://yourdomain.com/static/bonjour.mp3
.
也省略content_type
.
推荐阅读
- jquery - 当我在下拉列表中没有选择产品时,如何清除数量和价格字段?
- powershell - 如何在 VS Code 中通过 PowerShell 片段添加用户名
- sql - 我有字符串 'Tprintthisstring' 并希望输出到 'T,pri,ntt,his,str,ing' 。有人可以帮我吗
- python - 计算(x,y,z)点列表中最近邻的(欧几里得)距离的最有效方法是什么?
- node.js - 如何在 DOMAIN 上测试 Socket.io 和 Express
- blazor-client-side - 防止 Blazor 客户端页面离开
- java - 我在 java 中的单行素数函数有什么问题?
- c# - 为给定值查找最接近的值(顶部和底部)
- python - Django:在父模型的详细视图模板中显示外键模型
- c++ - 为什么我不能只用前向声明 C++ 声明一个类的静态成员?