我正在开发一个带有最新PHP SDK V3.1.1的Facebook应用程序 添加应用程序的新用户没有在其主页中列出的应用程序 应用列表。它过去只是由授权应用程序的用户工作。
有关如何使这项工作的任何提示?
请参阅下面的代码段。应用程序还使用javascript进行客户端功能。 您会注意到会话变量限制循环 登录页面。在切换用户并尝试授权应用时,我发现这是一个问题。
很多, 奥伦。
...
// Create the Facebook application instance
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
));
// Get FB User ID
$user_id = $facebook->getUser();
$user_profile = null;
// Session based API call.
if ($user_id) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user_id = null;
}
}
// login or logout url will be needed depending on current user state.
if ($user_id) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(
array (
'scope' => "$auth_list"
));
}
// If not logged on - login and restart - avoid a loop when switching users
$avoid_loop_var = 'fb_'.$app_id.'_avoid_loop';
$avoid_loop = $_SESSION[$avoid_loop_var];
if (($state)&&(!$avoid_loop)) {
$_SESSION[$avoid_loop_var] = false;
}
if ((!$user_id)&&(!$avoid_loop)) {
$_SESSION[$avoid_loop_var] = true;
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
$_SESSION[$avoid_loop_var] = false;
...