我一遍又一遍地搜索,似乎找不到答案。我做错了什么?
我的错误是FacebookApiException[0]:必须使用活动访问令牌来查询有关当前用户的信息。
编辑只是添加。这种做法奏效过一两次,但从未连续奏效。
require_once('media/fb/facebook.php');
$app_id = '123456';
$app_secret = '123456';
$my_url = 'mysiteurl';
$config = array(
'appId' => $app_id,
'secret' => $app_secret,
'fileUload' => 'false');
$facebook = new Facebook($config);
$user = $facebook->getUser();
if($user) {
try {
$user_profile = $facebook->api('/me','GET');
} catch(FacebookApiException $e) {
error_log($e->getType());
error_log($e->getMessage());
}
} else {
$login_url = $facebook->getLoginUrl(array('redirect_uri' => $my_url));
header("Location:" . $login_url);
$user_profile = $facebook->api('/me','GET');
}
非常感谢你的帮助。
您的错误是否来自这一行:底部的$user_profile = $facebook->api('/me','GET');
?
标题功能将用户重定向到Facebook登录页面,这将导致浏览器刷新。在此之后,您不会立即获得用户的访问令牌。您需要等到用户被重定向回您的网站才能获得访问令牌。您需要将$my_url
设置为指向您在此处编写的代码的同一页。