题
我正在使用 最新的Facebook PHP SDK 并希望只访问用户数据:
$facebook = new Facebook(array(
'appId' => 'xxx',
'secret' => 'yyy',
'cookie' => true
));
$user = $facebook->getUser();
if ($user) { // Checks if there is already a logged in user
try {
// Proceed knowing you have a logged in user who's already authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
else {
//Ask for bare minimum login
$login_url = $facebook->getLoginUrl();
header("Location: ".$login_url);
}
我的问题是 $user
fb登录,但是 $facebook->api('/me')
不仅失败,而且我也没有获得应用程序授权对话框。我究竟做错了什么?
解决方案
最终发现我的错误,因此记录:
$facebook = new Facebook(array(
'appId' => 'xxxx',
'secret' => 'yyyyy',
'cookie' => true
));
$user = $facebook->getUser();
if ($user) { // Checks if there is already a logged in user
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
// Will throw the very first time as the token is not valid
error_log($e);
$user = null;
}
}
// $user is null : $user is either not logged in or the token is not valid
if(!$user) { //Ask for bare minimum login
$login_url = $facebook->getLoginUrl();
header("Location: ".$login_url);
}
其他提示
在以下位置尝试FB演示脚本: https://github.com/facebook/facebook-php-sdk/blob/master/master/examples/example.php
看看是否有效
不隶属于 StackOverflow