我一遍又一遍地搜索,我似乎无法找到答案。我做错了什么?
我的错误是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');
}
非常感谢您的帮助。
答案 0 :(得分:0)
你的错误来自这一行:底部是$user_profile = $facebook->api('/me','GET');
吗?
标题功能会将用户重定向到Facebook登录页面,这将导致浏览器刷新。在此之后,您不会立即获得用户的访问令牌。您需要等到用户重定向回您的网站才能获得访问令牌。您需要将$my_url
设置为指向您在此处编写的代码的同一页面。