Facebook getLoginUrl и следующий параметр работают неправильно

Мой код:

$url = $fb->getLoginUrl(array('scope'=>'email','next'=>'http://apps.facebook.com/APPID/')); echo "<script> top.location=\"".$url."\"; </script>"; 

Мне нужно перенаправить пользователя на URL приложения моего приложения, когда он прошел успешно, но он всегда перенаправляется на мою страницу redirect_uri.

как я могу это исправить?

Благодарю.

Вы должны изменить этот URL-адрес, чтобы перенаправить приложение, которое вы хотите после аутентификации.

Вы должны изменить этот URL-адрес, чтобы перенаправить приложение, которое вы хотите после аутентификации.

ИЛИ Вы можете сделать это

Прежде всего, вам не нужно редактировать PHP SDK, ниже приведен пример проверки подлинности пользователя, а затем перенаправление на целевую страницу,

Убедитесь, что вы заменили:

YOUR-APP-ID-ЗДЕСЬ с вашим идентификатором приложения facebook,

YOUR-APP-API-SECRET-ЗДЕСЬ с секретным ключом вашего приложения facebook

YOUR-REDIRECT-URL-ЗДЕСЬ с URL целевой страницы

 <?php // Requires Facebook PHP SDK 3.0.1: https://github.com/facebook/php-sdk/ require ('facebook.php'); define('FACEBOOK_APP_ID',"YOUR-APP-ID-HERE"); define('FACEBOOK_SECRET',"YOUR-APP-API-SECRET-HERE"); define('REDIRECT_URI',"YOUR-REDIRECT-URL-HERE"); $user = null; $facebook = new Facebook(array( 'appId' => FACEBOOK_APP_ID, 'secret' => FACEBOOK_SECRET, 'cookie' => true )); $user = $facebook->getUser(); // Get the UID of the connected user, or 0 if the Facebook user is not connected. if($user == 0) { // If the user is not connected to your application, redirect the user to authentication page /** * Get a Login URL for use with redirects. By default, full page redirect is * assumed. If you are using the generated URL with a window.open() call in * JavaScript, you can pass in display=popup as part of the $params. * * The parameters: * - redirect_uri: the url to go to after a successful login * - scope: comma separated list of requested extended perms */ $login_url = $facebook->getLoginUrl($params = array('redirect_uri' => REDIRECT_URI)); echo ("<script> top.location.href='".$login_url."'</script>"); } else { // if the user is already connected, then redirect them to landing page or show some content echo ("<script> window.location.href='".REDIRECT_URI."'</script>"); } ?> 

Если вы хотите получить расширенные разрешения, просто добавьте еще один параметр «scope» в url для входа, например:

 $login_url = $facebook->getLoginUrl($params = array('redirect_uri' => REDIRECT_URI,'scope' => 'comma-separated-list-of-requested-extended-perms')); 

Измените URL-адрес перенаправления на странице настроек приложения.