2014-02-16 562 views
1

嘿我使用下面的代碼張貼到張貼在我的新聞提要:發佈的新聞飼料評論

<?php 
require '../src/facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'xxxxxxxxxxxxxxx', 
    'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 
    'fileUpload' => true, 
    'cookie' => true 
)); 

$user = $facebook->getUser(); 

if ($user) { 
    try { 
    $access_token = $facebook->getAccessToken(); 
    $user_profile = $facebook->api('/me'); 
    $comment  = $facebook ->api('/xxxxxxxxxxxxxx/comments', 
           'POST', 
            array(
             'access_token' => $access_token, 
             'message' => 'testing!' 
            ) 
           ); 
    } catch (FacebookApiException $e) { 
    echo ($e); 
    $user = null; 
    } 
} 

<?php if ($user): ?> 
    <a href="<?php echo $logoutUrl; ?>">Logout</a> 
<?php else: ?> 
    <a href="<?php echo $loginUrl; ?>">Login with Facebook</a> 
<?php endif ?> 

if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $statusUrl = $facebook->getLoginStatusUrl(); 
    $params = array(
     'scope' => 'read_stream, friends_likes, email, read_mailbox, read_requests, user_online_presence, friends_online_presence, manage_notifications, publish_actions, publish_stream, user_likes, user_photos, user_status, user_videos, read_insights' 
    ); 
    $loginUrl = $facebook->getLoginUrl($params); 
} 

?> 

<?php print_r($user_profile); ?> 

出於某種原因,我得到這個錯誤:

OAuthException: (#221)照片不可見

而我不知道,因爲我發佈文本評論,甚至沒有圖像?

如果我註釋掉代碼行$註釋= $的Facebook - > API( '/ XXXXXXXXXXXXXX /評論', 'POST', 陣列( 'ACCESS_TOKEN'=> $的access_token, '消息'= >'testing!' ) );它工作得很好(如在,顯示我的信息user_profile)。我已經嘗試閱讀該頁面,告訴你如何使用評論here,我這樣做 - 它似乎並不想工作?

我失蹤了什麼?

更新

使用圖形API我能夠做我試圖通過PHP做的,所以我知道它的工作原理同樣的事情...:

enter image description here

+0

假設是$ facebook和 - > api之間的一個空格(...? –

+0

是您想要發表評論的對象嗎? – CBroe

+0

@CBroe是它的一張朋友發佈的照片​​。我可以在facebook上留下像普通facebook這樣的評論就好了,它似乎不能在代碼中工作 – StealthRT

回答

0

我知道這是一個老問題,但...

首先,爲了測試相同的環境,您必須使用您的應用程序令牌,而不是圖形API資源管理器。否則,您正在使用所有權限測試API。

enter image description here

其次,你的問題必須是許可的事情(這就是爲什麼它的工作在API瀏覽器)。你應該:

  1. 要求對登錄publish_permission(不推薦),或
  2. 詢問publish_permission當用戶準備發送評論。這個

一般來說,當你看到一個OAuthException,你有一個許可問題。

如果帖子是照片類型,您將需要一個user_photos權限。