2013-04-29 82 views
1

我使用php.i創建應用程序和批准權限,然後我運行下面的代碼,但它返回訪問令牌作爲零和用戶爲0,會是怎樣的問題,開發fecebook應用Facebook的對象返回的accessToken爲空

require_once("facebook.php"); 
$config = array(); 
$config['appId'] = '****'; 
$config['secret'] = '*****'; 
$config['cookie'] = true; 
$config['fileUpload'] = false; // optional 
$facebook = new Facebook($config); 
var_dump($facebook); 
$user = $facebook->getUser(); 
echo "user=".$user; 

輸出給

object(Facebook)#1 (9) { 
["sharedSessionID":protected]=>NULL 
["appId":protected]=> string(15) "63270097007****" 
["appSecret":protected]=>string(32) "****************" 
["user":protected]=>NULL 
["signedRequest":protected]=>NULL 
["state":protected]=> string(32) "****************" 
["accessToken":protected]=>NULL 
["fileUploadSupport":protected]=> bool(false) 
["trustForwarded":protected]=>bool(false) 
} 
user=0 
+0

必須使用getAccessToken()來捕捉令牌?第二件事 - 當getUser()返回null時,您必須將用戶重定向到FB auth頁面,該頁面由使用getPHinUrl從FB PHP api生成。 – Svetoslav 2013-04-29 13:36:31

回答

0

你可以在這裏得到更多的信息.​​.

http://developers.facebook.com/docs/opengraph/howtos/publishing-with-app-token/

現在
// Modify you code in this way. 

require_once("facebook.php"); 
$config = array(); 
$config['appId'] = '****'; 
$config['secret'] = '*****'; 
$config['cookie'] = true; 
$config['fileUpload'] = false; // optional 
$facebook = new Facebook($config); 
var_dump($facebook); 
$user = $facebook->getUser(); 

//Get Access Token URL 
$access_token_url = "https://graph.facebook.com/oauth/access_token?client_id=".$config['appId']."&client_secret=".$config['secret']."&grant_type=client_credentials"; 

//Get Access Token 
$access_token = file_get_contents($access_token_url); 
echo $access_token; 

,你應該得到接取令牌..

+0

1日這將返回應用程序令牌,但爲什麼你保持了Facebook()init和分開你讓file_get_contest要求它不會返回用戶令牌和2? – Svetoslav 2013-04-29 13:48:19

+0

嗯..他沒有指定他請求的令牌的類型。他剛剛添加了輸出。我剛剛添加了2行以獲取App訪問令牌。 – Prashanth 2013-04-29 13:57:28