Facebook Messenger API无法使用attachment_id发送图片求助
问题说明
按照Facebook Messenger平台官方文档完成图片上传并获取到attachment_id后,使用该ID发起POST请求发送图片消息时,持续出现错误:(#100) Incorrect number of files uploaded. Must upload exactly one file.,无论通过URL上传还是本地文件上传获取的attachment_id均无法正常使用。
解决方案
- 修正请求头的Content-Type:发送带
attachment_id的消息时,必须将请求头的Content-Type设置为application/json,不能沿用上传文件时的multipart/form-data——这是触发该错误的最常见原因。 - 严格遵循请求体格式:请求体必须是标准JSON结构,仅传递
attachment_id相关参数,不要包含任何文件上传字段,示例如下:{ "recipient": {"id": "USER_ID"}, "messaging_type": "RESPONSE", "attachment": { "type": "image", "payload": { "attachment_id": "YOUR_ATTACHMENT_ID" } } } - 确认API端点正确性:发送消息的端点为
https://graph.facebook.com/v[版本号]/me/messages,不要与上传文件的/me/message_attachments端点混淆。 - 校验Access Token权限:确保使用的Access Token拥有
pages_messaging权限,且关联的是正确的目标Facebook页面。
内容的提问来源于stack exchange,提问作者marcus
相关产品推荐
相关产品推荐

