Аутентификация приложения на холсте Facebook перенаправляет на мой домен - PullRequest
1 голос
/ 06 декабря 2011

Я пробовал несколько подходов, например. здесь без удачи.Я использую их facebook php sdk .

. Теперь происходит то, что приложение перенаправляется на мой сайт после аутентификации.

<?php 
require_once 'php-sdk/facebook.php';
$app_id = "***";
$app_secret = "***";
$facebook = new Facebook(array(
        'appId'=> $app_id,
        'secret' => $app_secret,
        'cookie' => true
));
$user = $facebook->getUser();
if(!$user)
{
    $auth_url = $facebook->getLoginUrl(array('scope' => 'email'));
    echo("<script> top.location.href='" . $auth_url . "'</script>");
}
?>

Я попытался заменить auth_urlс:

$auth_url = $facebook->getLoginUrl(array('scope' => 'email',
'redirect_uri' => 'http://apps.facebook.com/ridetogether'));

, но в подсказке говорилось, что redirect_url не принадлежит мне:

Произошла ошибка с Ride Together.Повторите попытку позже.

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri: Given URL is not allowed by the Application configuration.

Что еще можно сделать, чтобы просто перенаправить обратно в приложение canvas внутри facebook?

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

Код ошибки API: 191 Описание ошибки API: указанный URL-адрес не принадлежит приложению Сообщение об ошибке: Недопустимый redirect_uri: данный URL не разрешен конфигурацией приложения.

Правильно ли выбрана ваша страница пространства имен / холста в настройках вашего приложения? Возможно, вам придется еще раз проверить это.

0 голосов
/ 06 декабря 2011

Вам необходимо указать конкретную страницу в вашем домене для перенаправления, например,

$params = array(
  'scope' => 'email',
  'redirect_uri' => $authPageURL,
);

$auth_url = $facebook->getLoginUrl($params);

Затем эту страницу необходимо перенаправить на URL-адрес холста, используя 301. Так что создайте страницу с именем auth.php или что-то подобное,

if(isset($_REQUEST['error_reason']))
{
    header('Location: '.$auth_error_page);
}
else 
{       
    header('Location: '.$FB_canvas_page);
}

Затем используйте эту страницу в качестве URI перенаправления.

...