我正在使用Facebook Messenger平台创建通用模板 . 我目前正在使用ngrok进行本地测试,而我为通用模板输入的image_url永远不会显示在Messenger中 . 发送通用模板,图像只是空白 . 使用Inspect,我可以看到图像的CSS是:
background-image: url("https://external.xx.fbcdn.net/safe_image.php?d=AQA1nM3pKJnllzq0&url=https%3A%2F%2Fdc3858ef.ngrok.io%2Fassets%2Fimages%2Fvideo_image.jpg&_nc_hash=AQAlBOE-vbT8cl-i");
如果我打开这个URL,它只是一个黑色屏幕,中间有一个白色像素 . 这是我使用的消息数据:
messageData = {
recipient: {
id: senderID
},
message:{
attachment:{
type: "template",
payload: {
template_type: "generic",
elements: [
{
title:"Test Video Link",
image_url: MY-NGROK_DOMAIN + "/assets/images/video_image.jpg",
subtitle: "Check out this video!",
default_action: {
type: "web_url",
url: "www.google.com"
}
}
]
}
}
}
};
如果我在浏览器中打开它,这个image_url工作正常 . 同样,如果我创建“图像”类型的消息数据而不是“模板”,则此图像将加载到Messenger中 .
如何让我的image_url正确加载通用模板?
2 回答
我有同样的问题 . 当webhook域与图像URL相同时,我和问题就出现了 . 如果您在其他服务器上使用图像,则可以使用 .
我遇到过同样的问题 . 我把我的本地Web应用程序放在了ngrok之后 . 直接在浏览器中请求图像工作正常,但是当它通过Facebook的safe_image.php脚本加载时,它将显示一个空白图像 . 经过大量的调试后,结果证明它是隧道服务本身 . 我切换到另一个服务(localtunnel),它工作得很好 .
在FB上注册的此问题上也可以找到更多信息:
https://developers.facebook.com/support/bugs/2151860088174161/
Update
联系ngrok关于此并得到快速回复,这是由于Facebook阻止ngrok这个脚本 .