gpt4 book ai didi

php - Facebook 图形 API : Publish post with multiple videos and photos

转载 作者:行者123 更新时间:2023-12-04 16:08:31 26 4
gpt4 key购买 nike

我尝试使用 PHP SDK 发布包含多个视频和照片的帖子。我使用批量请求上传了视频和照片并获得了 ID。然后我使用 attached_media 传递媒体 ID 和发布数据。对于单张照片或多张照片,一切正常。但不适用于单个视频或多个视频。我收到此错误消息:每当 attached_media 中包含视频 ID 时,“图形返回错误:(#10) 应用程序无权执行此操作”。

这是我使用的代码:

$fb = $this->init(); try{ // Returns a Facebook\FacebookResponse object        
$publishData = [ 'message' => $post['content']];

if(count($media_ids) > 0){
$publishData ['attached_media'] = [];
foreach($media_ids as $key => $media_id){
array_push($publishData['attached_media'],'{"media_fbid":"' . $media_id . '"}');
}
}
$response = $fb->post(
'/me/feed',$publishData
,
$accessToken
);
}
catch(FacebookResponseException $e){
echo 'Graph returned an error: ' . $e->getMessage();
echo $e->getTraceAsString();
exit;
}
catch(FacebookSDKException $e){
echo 'Facebook SDK returned an error: ' . $e->getMessage();
echo $e->getTraceAsString();
exit;
}
$graphNode = $response->getGraphNode();

有没有办法解决这个问题。谢谢。

最佳答案

事实上,您不能混合使用照片和视频。 Facebook 的 API 不允许这样做。你可以:

  • 包含视频+文字(描述)的帖子
  • 包含多张照片+文字的帖子

要发布视频,您必须点击

POST https://graph-video.facebook.com/v10.0/<page id>/videos?file_url=<public file URL>&access_token=<your access token>&published=true&description=<text>

file_urldescription 应该是 URL 编码的。

要发布多张照片,您首先要“上传”照片,结果您将拥有 ID。您设置为 attached_media 参数的那些 id。

获取照片 ID:

POST https://graph.facebook.com/<page id>/photos?url=<public file URL>&access_token=<access token>&published=false

注意 published=false。这很重要。如果没有它,您将创建一个包含单张照片的页面帖子。

最后制作实际的页面帖子:

POST https://graph.facebook.com/<page id>/feed?message=<text>&access_token=<access token>&attached_media[0]={"media_fbid":"<id>"}&attached_media[1]={"media_fbid":"<id>"}

附言此方法假定您已将内容上传到其他地方,并且您拥有可提供此内容的公共(public) URL。如果您有原始文件并且想将它们上传到 Facebook,那么您必须采用另一种方法。

关于php - Facebook 图形 API : Publish post with multiple videos and photos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47284140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com