twilio - 我无法使用 Twilio 在 WhatsApp 上获取用户发送的图像
问题描述
我已经做了很多,这是让聊天机器人工作的最后一件事。我试图在我的 WhatsApp 聊天机器人上接收用户的图像(自拍),但没有成功。我正在将 Python 与 Django 一起使用。
@twilio_view
def visita_selfie(request):
print('VISITA SELFIE')
message_sid = request.POST.get('MessageSid', '')
from_number = request.POST.get('From', '')
num_media = int(request.POST.get('NumMedia', 0))
media_files = [(request.POST.get("MediaUrl{}".format(i), ''),
request.POST.get("MediaContentType{}".format(i), ''))
for i in range(0, num_media)]
print('media files')
print(media_files)
memory = json.loads(request.POST.get('Memory'))
print('Memory= ',memory)
return HttpResponse(status=200)
起初我尝试了类似的东西:
{
"actions": [
{
"say": "Please send me the selfie."
},
{
"listen": true
},
{
"redirect" : "my webhook"
}
]
}
但这没有用。
我的日志上什么也没有,Twilio 调试器向我展示了:
Request Inspector
- Collapse All
POST
https://channels.autopilot.twilio.com/v1/AC0de44f5c63d50ab672ae85bef67ff3bc/UA313a4235eb1ee7cc39ce2ec1781d911a/twilio-messaging/whatsapp
2019-11-12 17:54:05 UTC
400
Request
URL
https://channels.autopilot.twilio.com/v1/AC0de44f5c63d50ab672ae85bef67ff3bc/UA313a4235eb1ee7cc39ce2ec1781d911a/twilio-messaging/whatsapp
Parameters
Show Raw
ApiVersion
"2010-04-01"
MediaUrl0
"https://api.twilio.com/2010-04-01/Accounts/AC0de44f5c63d50ab672ae85bef67ff3bc/Messages/MMd9aa12480e0bebd90ace8a8d5e46cca9/Media/MEaf6ae55ca8c5b27defdef15698a182f8"
SmsSid
"MMd9aa12480e0bebd90ace8a8d5e46cca9"
SmsStatus
"received"
SmsMessageSid
"MMd9aa12480e0bebd90ace8a8d5e46cca9"
NumSegments
"1"
From
"whatsapp:+553584311599"
To
"whatsapp:+14155238886"
MessageSid
"MMd9aa12480e0bebd90ace8a8d5e46cca9"
Body
""
AccountSid
"AC0de44f5c63d50ab672ae85bef67ff3bc"
NumMedia
"1"
MediaContentType0
"image/jpeg"
Message Text
Show Raw
Msg
"Bad Request"
sourceComponent
"14100"
ErrorCode
"11200"
EmailNotification
"false"
httpResponse
"400"
LogLevel
"ERROR"
url
"https://channels.autopilot.twilio.com/v1/AC0de44f5c63d50ab672ae85bef67ff3bc/UA313a4235eb1ee7cc39ce2ec1781d911a/twilio-messaging/whatsapp"
Response
Headers
X-Cache MISS from Twilio-Cache
X-Cache-Lookup MISS from Twilio-Cache:3128
X-Twilio-WebhookAttempt 1
X-Twilio-WebhookRetriable false
Content-Length 66
Date Tue, 12 Nov 2019 17:54:06 GMT
Content-Type application/json
Body
Show Raw
{
"code": 20001,
"status": 400,
"message": "Missing/Invalid Parameters"
}
然后我尝试了收集:
{
"actions": [
{
"collect": {
"name": "collect-selfie",
"questions": [
{
"question": "Para que possamos identificá-lo, poderia nos enviar uma foto do rosto? (selfie)\n",
"name": "selfie"
}
],
"on_complete": {
"redirect": {
"method": "POST",
"uri": "https://dimep.herokuapp.com/selfie/"
}
}
}
}
]
}
我也没有工作,当我用收集输入文本时,我的日志只显示了“VISITA SELFIE”(意味着它进入了函数),但 media_files 是空的 []。
我究竟做错了什么?
解决方案
Twilio 开发人员布道者在这里。
恐怕Twilio Autopilot 目前不支持媒体,因此您将无法像这样从 webhook 中获取图像。
推荐阅读
- angular - 无法读取未定义的属性“名称”-Angular 6。所有字段都重复错误
- c# - c# Linq 获取实体查询中列表元素的id
- c# - 如何分离 NCrunch 节点服务使用的所有 LocalDb 数据库
- php - MSSQL 连接在第二次或下一次尝试时失败
- javascript - 我们在不同的页面上使用了三个不同的地图,它可以在 Chrome 中运行,但是呢?
- paypal-sandbox - 使用 JASON 动态设置 PayPal Checkout 交易
- c++ - 返回数组中值的指针地址
- magento2 - Magento 2 静态内容部署不编译更少的文件
- mysql - SQL 语法错误 - My SQL
- android - 无法将应用上传到谷歌播放控制台,应用已在调试模式下登录