2011-08-31 50 views
0

* strong text *我有一個每天發佈文章的網站。Facebook API php - 將新聞發佈到facebook羣組

我想有一個相應的Facebook羣組,我可以在我的網站上同時發佈文章。

我在twitter中使用api設置了類似的安排。當我發佈一篇文章到我的網站時,它會自動發佈標題並通過twitter API鏈接回twitter。我想爲我的臉書小組有一個類似的安排。

是否有可能將我的故事轉發到我的Facebook羣組牆上?

編輯

好吧,我已經遠遠得到了這一點,並沒有進一步的:

第1步:獲取授權發佈到流

if ($fp = fopen('https://graph.facebook.com/oauth/access_token?client_id=XXXXXXXXXX&client_secret=XXXXXXXXXXXXtype=client_cred&scope=publish_stream', 'r')) { 
    $content = ''; 
    // keep reading until there's nothing left 
    while ($line = fread($fp, 1024)) { 
     $content .= $line; 
    } 
    $tokens = explode("access_token=",$content); 

    // do something with the content here 
    $auth_token = $tokens[1]; 
    fclose($fp); 


} else { 
    // echo" an error occured when trying to open the specified url"; 
} 

步驟2:把我的消息使用我的授權碼(我已選擇使用cURL)到碼流:

$message="This will be a post on my groups wall."; 
$url = "https://graph.facebook.com/my_app_id/feed"; 

$data = array('message' => $message, 'auth_token' => $auth_token); 

$handle = curl_init($url); 
curl_setopt($handle, CURLOPT_POST, true); 
curl_setopt($handle, CURLOPT_POSTFIELDS, $data); 
curl_setopt($curl_handle,CURLOPT_URL,$url); 
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2); 
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1); 
$buffer = curl_exec($curl_handle); 
curl_close($curl_handle); 

if (empty($buffer)) 
{ 
    print "Nothing seems to have happened"; 
} 
else 
{ 
    print $buffer; 
} 

該代碼運行沒有錯誤,但沒有得到返回,沒有東西被貼到牆上

任何想法?

回答

1

Facebook將頁面視爲與他們對待人類相似的頁面,您需要指定一個與您的組的頁面ID相關聯的UID。然後,只需使用Facebook的Graph API將其發佈到流中,就如同您對某個人一樣。

要授權,您可以從管理員處獲得Facebook API許可並請求manage_pages權限。

所有你需要的信息都包含在這裏:https://developers.facebook.com/docs/reference/api/#impersonation

(Ctrl + F Page Login瞭解更多關於授權更新到頁面的信息)。