Red*_*ber 11 php facebook facebook-graph-api facebook-php-sdk
现在我像这样张贴一张照片到墙上:
$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',
)
);
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我可以以某种方式发布多张照片,如下所示:

提前致谢!
Kco*_*der 16
您现在可以在一个帖子中将多个图片发布到您的Feed或页面:
对于故事中的每张照片,使用{user-id}/photos带有参数的端点上传未发布的照片published=false.
您将为上传的每张照片获取ID,如下所示:
{
"id": "10153677042736789"
}
Run Code Online (Sandbox Code Playgroud)
使用{user-id}/feed端点发布多照片故事并使用上传照片返回的ID
$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"}'
)
);
Run Code Online (Sandbox Code Playgroud)
资料来源:发布多照片故事
您可以按照此处的说明进行批量请求:https://stackoverflow.com/a/11025457/1343690
但它很容易循环你的图像并直接发布它们.
foreach($photos as $photo)
{
//publish photo
}
Run Code Online (Sandbox Code Playgroud)
如果某些照片上传到同一专辑中,则此分组由facebook自动完成.
目前您无法通过Graph API 在组中创建相册- 它不受支持(截至目前),请参阅此错误.
但你可以这样做 - 手动创建一个相册,然后获取album_idby-
\GET /{group-id}/albums,然后使用代码album_id而不是group_id-
foreach($photos as $photo){
$facebook->api("/{album-id}/photos", "POST", array(
'access_token=' => $access_token,
'name' => 'This is a test message',
'url' => $photo
)
);
}
Run Code Online (Sandbox Code Playgroud)
我测试了它,看到结果 -

小智 6
实际上,您可以上传多故事照片(我使用 Graph Api 和 PHP 完成),但是如果您需要安排此帖子,问题就会出现。您的帖子已安排好,但也会显示在页面的供稿中。
PS我使用的是Graph Api v2.9
PHP代码
$endpoint = "/".$page_id."/photos";
foreach ($multiple_photos as $file_url):
array_push($photos, $fb->request('POST',$endpoint,['url' =>$file_url,'published' => FALSE,]));
endforeach;
$uploaded_photos = $fb->sendBatchRequest($photos, $page_access_token);
foreach ($uploaded_photos as $photo):
array_push($data_post['attached_media'], '{"media_fbid":"'.$photo->getDecodedBody()['id'].'"}');
endforeach;
$data_post['message'] = $linkData['caption'];
$data_post['published'] = FALSE;
$data_post['scheduled_publish_time'] = $scheduled_publish_time;
$response = $fb->sendRequest('POST', "/".$page_id."/feed", $data_post, $page_access_token);
$post_id = $cresponse->getGraphNode()['id'];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13940 次 |
| 最近记录: |