我正在修改FBML画布应用程序以使用新的PHP SDK和身份验证而不是旧的REST API。
现在我正在尝试使用此代码段:
$me = null;
// Session based API call.
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
}
// login or logout url will be needed depending on current user state.
if ($me) {
} else {
$loginUrl = $facebook->getLoginUrl(array('req_perms' => 'user_birthday, publish_stream, email'));
header('Location: '.$loginUrl);
}
但是,如果我对任何不相关的URL使用php头函数,我会收到此错误:
Application Temporarily Unavailable
The URL [https://www.facebook.com/login.php?.........] is not valid.
Sorry, the application you were using is experiencing a problem. Please try again later.
如果我需要使用最新的PHP SDK在我的FBML画布应用程序上进行身份验证,如何正确地重定向到请求扩展权限的应用程序登录页面?
答案 0 :(得分:0)
看起来您无法使用服务器端重定向(header())将用户推送到auth页面。我现在正在使用它:
function redirect($url)
{
echo '<script>top.location="' . $url . '";</script>';
//echo '<fb:redirect url="' . $url . '"></fb:redirect>';
//header("location:$url");
exit();
}