0
我已经阅读了这个线程的负载,但没有答案或给出的答案不适用于我。
我有以下代码要求授权我的Facebook应用程序,如果他们还没有授权它。一旦获得授权,它应该重定向到相同的页面,但这次它不应该要求授权。
代码询问了完美的用户授权...工程完全按照我想要的,但是当应用程序重新加载$用户总是被设置为0。
这里是我的代码:
//Get PHP SDK
require_once 'facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'cookie' => true
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
echo "logged in and authenticated";
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
// Ask for authorisation
if(!$user) {
$login_url = $facebook->getLoginUrl(
array(
'canvas' => 1,
'fbconnect' => 0,
'scope' => 'email,publish_stream',
'redirect_uri' => 'myurl - same as Site URL in app basic settings'
)
);
echo "<script> top.location.href='" . $login_url . "'</script>";
}
}
后,用户已经授权该应用程序,它不再要求授权,所以我假设授权工作,但为什么$facebook->getUser()
返回0?
重定向后的URL有两个查询字符串参数 - “状态”和“代码”。它们是否相关?我应该和他们一起做点什么吗?据我所知,我已经下载了最新的Facebook SDK,所以我不知道如何才能正常工作。
注:我通过AJAX调用上面的代码。