2011-04-22 162 views
0

我只是想讓PHP Connector連接到Facebook,以便在頁面上發佈牆貼。 所以我不想把牆貼貼到牆上或其他東西上。發佈到Facebook網頁牆

我讀過一些教程和手冊,我決定使用Facebook PHP-SDK(從Naitik沙阿) https://github.com/facebook/php-sdk/

我創建Facebook的應用程序,通過它來發布wallposts。我收到appIdapi secret。我已經添加應用程序的權限到我的網頁,並試圖示例代碼

$facebook = new Facebook(array(
    'appId' => 'my app id', 
    'secret' => 'my api secret', 
    'cookie' => false, 
    'domain' => 'domain.com' 
)); 

我從中發送API domain.com =>站點請求 未來 - >

$facebook->getSession(); 
$token = $facebook->getAccessToken(); 
$facebook->api('/123456789/feed', array(
    'access_token' => $token, 
    'link' => 'http://www.example.com' 
)); 

所以我想在頁面的牆上張貼鏈接ID爲123456789

該請求經過沒有警告/錯誤,但沒有任何東西張貼在正確的地方,沒有任何返回。

感謝您對此問題的任何想法。

二手教程:

How do you post to the wall on a facebook page (not profile)
http://blog.theunical.com/facebook-integration/5-steps-to-publish-on-a-facebook-wall-using-php/
http://www.moskjis.com/other-platforms/publish-facebook-page-wall-from-your-site
http://tips4php.net/2010/12/automatic-post-to-facebook-from-php-script/

回答

2
$facebook->api('/123456789/feed', 'post', array(
    'access_token' => $token, 
    'link' => 'http://www.example.com' 
)); 

注意'post'部分。

如果你看看源通過您所提供的鏈接的API,你會看到:

protected function _graph($path, $method='GET', $params=array()) { 
    if (is_array($method) && empty($params)) { 
     $params = $method; 
     $method = 'GET'; 
    } 

當你沒有'post'作爲第二個參數和你的數組作爲第三個呢,它進了get

+0

是的,你是對的。感謝Brian。現在我必須解決「OAuthException:(#200)用戶沒有授權應用程序執行此操作」,但這是另一個問題。無論如何謝謝:) – 2011-04-22 14:54:25

+0

@ Marek Sebera,我遇到同樣的問題,你有沒有找到任何解決方案。 – punit 2011-11-16 14:04:54