通用模板 image_url 未在 Messenger 中加载 - Facebook Messenger Platform

Generic template image_url does not load in Messenger - Facebook Messenger Platform

我正在使用 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 可以正常工作。同样,如果我创建 'image' 类型的消息数据而不是 'template',则此图像将加载到 Messenger 中。

如何让我的 image_url 正确加载通用模板?

我有同样的问题。当 webhook 域与图像 url 相同时,我和问题就出现了。如果您在不同的服务器上使用图像,它可以工作。

我遇到了同样的问题。我已将我的本地 Web 应用程序置于 ngrok 之后。直接在浏览器中请求图像工作正常,但当它通过 Facebook 的 safe_image.php 脚本加载时,它会显示空白图像。经过大量调试后,原来是隧道服务本身。我切换到另一个服务 (localtunnel) 并且在那里工作正常。

有关在 FB 上注册的此问题的更多信息:

https://developers.facebook.com/support/bugs/2151860088174161/

更新

就此问题联系了 ngrok 并得到了快速回复,这是由于 Facebook 阻止了 ngrok 用于此脚本。