【问题标题】:How to send an image hosted on Amazon S3 through the Facebook Messenger Send API?如何通过 Facebook Messenger Send API 发送托管在 Amazon S3 上的图像?
【发布时间】:2017-09-26 02:37:37
【问题描述】:

messenger Send API 将响应返回给我 (#546) 不允许您尝试附加的文件类型。请使用其他格式重试。错误代码:546,error_subcode:154502

但是,如果我在 Google Cloud 而不是 Amazon S3 上托管完全相同的图像,则图像可以正常发送。

我的 AWS 图像链接: https://s3.amazonaws.com/paloma-staging-public/files/conversation-step-56-80925.gif

我的谷歌云图片链接: https://storage.googleapis.com/callparty/thumbsup.gif

是否有任何特殊原因导致存储在 S3 上的图像链接不能作为图像附件使用,但存储在谷歌云上的图像链接可以使用?

【问题讨论】:

  • 当我单击 AWS 链接时,我的浏览器会下载图像。当我单击 Google 链接时,它会在浏览器中打开。所以肯定有区别

标签: facebook amazon-s3 facebook-messenger


【解决方案1】:

答案是对于 AWS 链接,文件的 ContentType 没有设置。

在上传到 S3 时,我必须手动适当地设置文件的 ContentType(“image/gif”、“image/png”等),而对于 google 云存储,这必须是自动设置的。

这就是为什么 S3 链接会导致自动下载,而谷歌云链接会在浏览器中显示图像。

【讨论】:

  • Facebook Messenger 不提供图片肯定还有其他原因。我在 S3 上设置了 ContentType,但 Facebook Messenger(在移动设备上)仍然不会在结构化消息中提供图像。但是,在桌面浏览器版本上它可以正常工作。
猜你喜欢
  • 2017-01-23
  • 1970-01-01
  • 2021-04-20
  • 1970-01-01
  • 2018-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多