Facebook Messenger机器人,发送图像附件

Facebook Messenger机器人,发送图像附件,facebook,bots,messenger,Facebook,Bots,Messenger,我正在创建一个Facebook机器人,上面有上传的图片,它会以图片回应。我可以通过附件发送图像并将其从服务器上删除,还是必须发送图像的URL并将图像保留在服务器上? 我也有同样的问题,但仍然没有找到答案。 目前,使用Facebook机器人发送图像的唯一方法是将“图像url”与用户的图像url一起发送。 在这里,您可以找到一个关于如何转换jpg或png的官方示例。 您可以使用他们的上载API将附件上载到他们的服务器 curl -X POST -H "Content-Type: applicat

我正在创建一个Facebook机器人,上面有上传的图片,它会以图片回应。我可以通过附件发送图像并将其从服务器上删除,还是必须发送图像的URL并将图像保留在服务器上?


我也有同样的问题,但仍然没有找到答案。
目前,使用Facebook机器人发送图像的唯一方法是将“图像url”与用户的图像url一起发送。

在这里,您可以找到一个关于如何转换jpg或png的官方示例。

您可以使用他们的上载API将附件上载到他们的服务器

curl -X POST -H "Content-Type: application/json" -d '{
  "message":{
    "attachment":{
      "type":"image", 
      "payload":{
        "url":"http://www.messenger-rocks.com/image.jpg", 
        "is_reusable":true,
      }
    }
  }
}' "https://graph.facebook.com/v2.6/me/message_attachments?access_token=PAGE_ACCESS_TOKEN"
上传呼叫将回复附件id,该id可用于将附件发送给用户,而无需再次上传

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient": {
    "id": "USER_ID"
  },
  "message": {
    "attachment": {
      "type": "image",
      "payload": {
        "attachment_id": "1745504518999123"
      }
    }
  }
}' "https://graph.facebook.com/me/messages?access_token=PAGE_ACCESS_TOKEN"   

您可以通过Facebook Messenger API直接发送附件(无需使用
payload.url
选项),并通过多部分请求发送附件。这里是PHP&(尽管任何好的HTTP请求包都应该这样做,不管脚本语言如何):


请注意,
attachments.payload
参数已设置,但
null
。如果未设置有效负载,Graph API将返回400响应。

是的,API就是这么说的:(我的临时解决方案是在cron作业将图像从服务器上清除之前n小时内提示用户下载该图像。你知道如何通过python进行下载,特别是当文件是无法保存在服务器上的PIL图像时。不知道,尝试寻找一个python库包装FB API。什么是PIL图像?下面是如何进行的在python中使用请求和附加请求\u工具带库。
curl -X POST -H "Content-Type: application/json" -d '{
  "recipient": {
    "id": "USER_ID"
  },
  "message": {
    "attachment": {
      "type": "image",
      "payload": {
        "attachment_id": "1745504518999123"
      }
    }
  }
}' "https://graph.facebook.com/me/messages?access_token=PAGE_ACCESS_TOKEN"   
use GuzzleHttp\Client;

$client = new Client();
$graphRequest = $client->request('POST', 'https://graph.facebook.com/v5.0/me/messages', [
    'query' => [
        'access_token' => $facebookInfo['pageAccessToken']
    ],
    'multipart' => [
        [
            'name' => 'messaging_type',
            'contents' => 'RESPONSE',
        ],
        [
            'name' => 'recipient',
            'contents' => json_encode(['id' => $yourRecipientPSID]),
        ],
        [
            'name' => 'message',
            'contents' => json_encode(['attachment' => ['type' => 'file', 'payload' => []]]),
        ],
        [
            'name' => 'filedata',
            'contents' => fopen($yourFilePath, 'r'),
            'filename' => $yourFileName,
        ],
    ],
]);