node.js - Messenger 发送 API + AWS S3 托管对象

标签 node.js facebook amazon-web-services amazon-s3 facebook-messenger

我将一个 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/

相关文章:

javascript - createReadStream end 在数据完成处理之前触发

node.js - Laravel Forge - Node.js Websocket 超时

android facebook api 发布

amazon-web-services - 将 AWS 负载均衡器用于 HTTPS 和 SSH

amazon-web-services - 如何防止AWS云前端的垃圾邮件?

node.js - 服务器发送的事件在简单快速 SSE 的 chrome devtools 中显示为空白

javascript - Sails.js 获得多对多关联计数

java - 要求用户先登录 facebook,然后才能使用该应用程序

android - 获取 facebook 电子邮件 parse.com

amazon-web-services - CloudFormation !Ref 未按预期工作