Как избежать этой страницы входа API api это приложение Facebook? - PullRequest
0 голосов
/ 18 ноября 2011

У меня возникла проблема с обновлением моих приложений, когда я захожу в свои приложения, оно обязательно покажет мне страницу входа вместо страницы разрешения?

он всегда отображает страницу входа 1-й, а затем отображает только страницу разрешения, я пробовал другие приложения, если я первый раз пользуюсь, обязательно появится страница разрешения, она не показала мне страницу входа.

мой вопрос: как мне избежать, чтобы моя страница входа напрямую переходила на страницу разрешений?

вот изображение моей страницы входа enter image description here

здесь ссылка на мои приложения

https://apps.facebook.com/christmas_testing/

вот мой код facebook php jdk api

<code><?php
$fbconfig['appid' ] = "XXXXXXXXXXXXX";
$fbconfig['secret'] = "XXXXXXXXXXXXX";
$fbconfig['baseUrl']    =   "myserverlink";
$fbconfig['appBaseUrl'] =   "http://apps.facebook.com/christmas_testing/";

if (isset($_GET['code'])){
    header("Location: " . $fbconfig['appBaseUrl']);
    exit;
}
if (isset($_GET['request_ids'])){
    //user comes from invitation
    //track them if you need
     header("Location: " . $fbconfig['appBaseUrl']);
}

$user   =   null; //facebook user uid
try{
    include_once "facebook.php";
}
catch(Exception $o){
    echo '<pre>';
    print_r($o);
    echo '
';} // Создать наш экземпляр приложения.$ facebook = новый Facebook (массив ('appId' => $ fbconfig ['appid'], 'secret' => $ fbconfig ['secret'], 'cookie' => true,));// Аутентификация Facebook part $ user = $ facebook-> getUser ();$ loginUrl = $ facebook-> getLoginUrl (массив ('scope' => 'email, publish_stream, user_birthday, user_location, user_work_history, user_about_me, user_hometown'));if ($ user) {try {// Продолжайте, зная, что вы вошли в систему, который прошел аутентификацию.$ user_profile = $ facebook-> api ('/ me');} catch (FacebookApiException $ e) {// вы должны использовать error_log ($ e);вместо печати информации в браузере d ($ e);// d - функция отладки, определенная в конце этого файла $ user = null;}} if (! $ user) {echo "

Ответы [ 2 ]

1 голос
/ 18 ноября 2011

Это эффект нового диалогового окна авторизации функций Facebook, недавно запущенных.

При использовании этого нового диалога есть два экрана «разрешить / войти»:

  • Обычные разрешения, такие как - user_about_me, user_birthday, user_photos.
  • Расширенные разрешения, такие как - read_insights, offline_access, publish_actions.

Каждый будет отображать свой собственный диалог.Сначала появятся обычные разрешения, а затем появятся расширенные разрешения (если вы запросили расширенные разрешения) ... Это происходит при первом входе пользователя в систему и, возможно, позже, если вы захотите добавить дополнительные разрешения в ваше приложение.Взято из Open Graph Beta ›Auth Dialog

Обновленный диалог Auth отобразит набор разрешений пользователя и друзей в первом диалоговом окне и другие расширенные разрешения (если есть)на втором диалоговом экране.

Вы можете отключить эту функцию и вернуться к старому диалоговому окну авторизации, изменив настройки в своем приложении.Перейдите на вкладку «Дополнительно» в настройках вашего приложения и снимите флажок Enhanced Auth Dialog.

0 голосов
/ 18 ноября 2011

В параметре scope добавьте разрешение «offline_access».При этом пользователь предоставляет разрешение приложению, даже если пользователь находится в автономном режиме.Полученный вами access_token не имеет срока действия.

...