2012-08-29 15 views
0

我想實現一個功能,從管理頁面(SonataAdminBundle)爲Symfony 2 Framework發佈帖子到Facebook粉絲頁面。我已經集成Facebook的PHP SDK和控制器試圖用這樣的:發佈到粉絲頁面牆,狀態正常,但帖子不顯示在牆上

 $facebook = new \Facebook(array(
      'appId' => $myAppId, 
      'secret' => $myAppSecret, 
      'cookie' => false, 
      )); 


     //Get App Token 
     $token = $facebook->getAccessToken(); 
     //Try to Publish on wall or catch the Facebook exception 
     try { 

      $args = array('access_token' => $token, 
      'from' => $myAppId, 
      'link' => 'http://mypage.pl', 
      'name' => 'My Page', 
      'caption' => $object->getTitle() , 
      'description' => 'Description....', 
      'message' => $object->getText(), 
     ); 

     $result = $facebook->api('/'.'$myAppId'.'/feed/', 'POST', $args); 
     } 

     //If the post is not published, print error details 
     catch (FacebookApiException $e) { 
        .... 
     )); 
     } 

我正在用的應用程序的ID和文章ID的響應,我想,這樣的:

{"status":"OK","content":{"id":"295131140562739_359030107506176"}} 

但該帖子未在Facebook粉絲頁面時間線上顯示。任何一個成功實施它?

+2

我想你想發佈錯誤的網頁上的消息之前分配正確的ID爲$ myPageId。您正在撥打$ myAppId/feed。您確定$ myAppId也是您要發佈內容的頁面的ID嗎? – Darvex

回答

2
$result = $facebook->api('/'.'$myAppId'.'/feed/', 'POST', $args); 

以上不會產生預期的效果。正如Darvex所提到的,你可能不希望你的app id在那裏,但是頁面id。另外,在PHP中的單引號之間放置一個變量將使它成爲一個值爲$ myAppId的字符串,而不是變量的值。這條線應該成爲:

$result = $facebook->api('/'. $myPageId .'/feed/', 'POST', $args); 

只要確保你的電話:)

+1

是的,有兩個問題,一個,我已經把App ID而不是頁面ID。第二個,我沒有通過管理頁面登錄。我沒有創建具有權限等登錄URL。我認爲它沒有它的作品,它看起來像它的工作,因爲我已經得到了一個消息ID,但它沒有。 – Tom

相關問題