我将一个 png 上传到具有公共(public)读取权限的 S3 存储桶。当我使用 Messenger API 发送它时,出现以下错误:
收到信使错误。有关错误代码的更多信息,请参阅:https://developers.facebook.com/docs/messenger-platform/reference/send-api/error-codes
{ message: '(#100) 无法从 url 获取文件',
类型:'OAuthException',
代码:100,
错误子代码:2018008,
fbtrace_id: 'F8w/11MzB9B' }
我的 S3 url 格式为 https://bucketname.s3.amazonaws.com/filename.png ,当我访问它时,它可以工作,但会导致自动下载。 Messenger 是否需要显示图像?如果是这样,我如何更改 S3 设置以允许这样做。
谢谢大家!
最佳答案
问题是 Messenger 不接受 png 文件类型,尽管我在文档中看到了 png 发送的示例:(。
改为发送 jpeg 即可。
确保上传的 S3 对象具有指定的 Content-Type
和公共(public)读取权限(或预签名 URL),这一点很重要。
编辑:可以工作,但不适用于预签名请求
关于node.js - Messenger 发送 API + AWS S3 托管对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47083065/