Facebook图形API发送图像消息:“无法从网址获取文件”

时间:2018-03-15 12:31:06

标签: facebook-graph-api facebook-messenger imageurl

自2018-02-22以来,我无法发送包含我上传到S3的图像到Facebook的消息。

我收到以下错误:

{"error":{"message":"(#100) Failed to fetch the file from the url","type":"OAuthException","code":100,"error_subcode":2018008,"fbtrace_id":"BP8L9CQBKP+"}}

这是我的测试设置:

TOKEN=<a_valid_page_token>
FBUSER=<an_fb_user_id>
URL=https://airy-layer-staging.s3.amazonaws.com/images/fd9aee26-7dd5-48cb-99c9-c4f10ec38f31.png

curl -H"Content-Type: application/json" https://graph.facebook.com/v2.6/me/messages?access_token=$TOKEN \
     -d'{"recipient":{"id":"'$FBUSER'"},"message":{"attachment":{"type":"image","payload":{"url": "'$URL'"}}}}'

这些网址都可以正常使用

URL=http://rtens.org/images/avatar.jpg
URL=https://visualhunt.com/photos/s/4/anime-pet-kitty.jpg
URL=https://s3.amazonaws.com/codecademy-blog/assets/puppy-7_zps26e8a8d9.jpg
URL=https://smd-prod.s3.amazonaws.com/science-pink/s3fs-public/styles/front_page_hero_image/public/thumbnails/image/deer_duo.jpg

我确保图像存在,公开可用,并且<2MB。图像的上传方式与2018-02-22之前相同。为什么Facebook无法获取文件?

感谢您的帮助, 尼古拉斯

1 个答案:

答案 0 :(得分:0)

我可以通过在将图像上传到S3时禁用base64编码来解决问题。