如何通过Facebook Messenger Send API发送托管在Amazon S3上的图像?

max*_*ler 7 facebook amazon-s3 facebook-messenger

信使发送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上的图像链接不能用作图像附件,但链接到存储在谷歌云上的图像会起作用?

max*_*ler 5

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

在上传到S3时,我必须手动设置文件的ContentType(“ image / gif”,“ image / png”等),并且对于Google云存储,必须已自动设置。

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