2012-12-26 55 views
3

我得到了以下error致命錯誤在Facebook的API權限

Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user. thrown in /home/.../third_party/base_facebook.php on line 1106 

我的功能,

public function isPhotoPermission() 
     { 
      $facebook = new Facebook(); 
      $access_token = $facebook->getAccessToken(); 
      $permissions = $facebook->api("/me/permissions","GET",array('access_token' => $access_token)); 
      if(array_key_exists('user_photos', $permissions['data'][0])) 
      { 
       return 1; 
      } 
      else 
      { 
       return 0; 
      } 
     } 

1106線,

1105: protected function throwAPIException($result) { 
1106: $e = new FacebookApiException($result); 
1107: switch ($e->getType()) { .... 

錯誤由下面的代碼發生:

$permissions = $facebook->api("/me/permissions","GET",array('access_token' => $access_token)); 

問題在哪裏?感謝您的提前。

回答

1

您確定您沒有忘記Facebook()構造函數的參數嗎?

$config = array(); 
$config[‘appId’] = 'YOUR_APP_ID'; 
$config[‘secret’] = 'YOUR_APP_SECRET'; 
$config[‘fileUpload’] = false; // optional 

$facebook = new Facebook($config); 

https://developers.facebook.com/docs/reference/php/

或者,也許你在代碼中的其他地方初始化$facebook對象?在這種情況下,你應該:

  • 要麼通過$facebookisPhotoPermission()功能,以便把它找回來,
  • 或設置$facebookglobal無論是在另一個函數初始化,
  • 或者乾脆刪除$facebook = new Facebook();行如果$facebook已被定義在函數外(意味着它已經是global)。