将Youtube视频发布到Facebook时的请求无效

时间:2013-12-17 13:36:24

标签: facebook facebook-graph-api video youtube

我有这个代码,我用它来使用Graph api安排帖子到Facebook:

$body = array(
   'message'         => $post->message,
   'link'            => site_url('index.php/cron/redirect/'.url_encode($post->id_cron)),
   'picture'         => 'http://img.youtube.com/vi/'.$post->picture.'/0.jpg',
   'name'            => $post->name,
   'caption'         => $post->caption,
   'description'     => $post->description,
   'access_token'    => $access_token, 
   'appsecret_proof' => hash_hmac('sha256', $access_token, $this->faceboook->app_secret),
   'type'        => 'video',
   'source'          => 'http://www.youtube.com/e/'.$post->picture
);
$relative_url = "/".$post->id_wall."/feed";

$batch = array('method' => 'POST', 'relative_url' => $relative_url, 'body' => http_build_query($body));

$facebook->api('?batch='.urlencode(json_encode($batch)), 'POST');

现在帖子已成功发布在群组的墙上,链接正确,缩略图正确并且显示为视频,因为缩略图左下角显示了小播放按钮。现在我的问题是

"Invalid Error: There was a problem with the parameters of the request"

每当我尝试点击缩略图时。预期的行动是该帖子将打开一个播放器并在组墙上播放视频。这里似乎有什么问题?有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用YouTube视频网址替换您的链接吗? 'link'=>“http://www.youtube.com/watch?v=”+ [YoutubeId];并查看现在显示的视频。

通常要将YouTube视频分享到Facebook页面,您只需要消息,链接,来源, 图片参数。多数民众赞成是如果你使用FacebookC#SDK将视频分享给Facebook所有你需要的是代码

 var fb = new Facebook.FacebookClient(yourPageAccessToken); 
 argList["message"] = message;
 argList["link"] = "http://www.youtube.com/watch?v=" + specialOffer.YoutubeId;
 argList["source"] = "http://www.youtube.com/v/" + specialOffer.YoutubeId;
 argList["picture"] = "http://img.youtube.com/vi/" + specialOffer.YoutubeId + "/0.jpg";
 fb.Post("feed", argList);