如何通过 Facebook API 发布多张照片

现在我把一张照片贴在墙上,就像这样:

$response = $facebook->api("/$group_id/photos", "POST", array(
    'access_token=' => $access_token,
    'message' => 'This is a test message',
    'url' => 'http://d24w6bsrhbeh9d.cloudfront.net/photo/agydwb6_460s.jpg',
   )
);

它工作正常,但我可以以某种方式发布多张照片,如下所示:

enter image description here


答案 1

现在,您可以在一篇文章中将多张图片发布到您的 Feed 或页面:

对于故事中的每张照片,请使用带有参数的终结点上传未发布的照片。{user-id}/photospublished=false

您将为上传的每张照片获得一个ID,如下所示:

{
  "id": "10153677042736789"
}

使用终结点并使用上传照片返回的 ID 发布多张照片故事{user-id}/feed

 $response = $facebook->api("/me/feed", 'POST',
  array(
    'access_token=' => $access_token,
    'message' => 'Testing multi-photo post!',
    'attached_media[0]' => '{"media_fbid":"1002088839996"}',
    'attached_media[1]' => '{"media_fbid":"1002088840149"}'
  )
);

来源:发布多张照片故事


答案 2

您可以按此处所述进行批处理请求:https://stackoverflow.com/a/11025457/1343690

但是,循环浏览图像并直接发布它们很简单。

foreach($photos as $photo)
{
       //publish photo
}


编辑:

(关于墙上照片的分组)

如果某些照片上传到同一相册中,则此分组由Facebook自动完成。

目前,您无法通过Graph API在组中创建相册 - 它不受支持(截至目前),请参阅此错误

但是你可以这样做 - 手动创建一个相册,然后获取by-
,然后使用代码而不是album_id\GET /{group-id}/albumsalbum_idgroup_id-

foreach($photos as $photo){
   $facebook->api("/{album-id}/photos", "POST", array(
      'access_token=' => $access_token,
      'name' => 'This is a test message',
      'url' => $photo
      )
   );
}

我已经测试过了,看看结果——

enter image description here


推荐