2013-12-17 67 views
0

我有這樣的代碼,我使用的調度使用圖形API的帖子給Facebook:無效的請求時發佈YouTube視頻到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" 

每當我嘗試點擊縮略圖。如果預期的行動是這個帖子會打開一個玩家並在羣牆上播放視頻。這裏似乎是什麼問題?誰能幫幫我嗎?

回答

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); 
相關問題