2013-04-29 57 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