Arhn - архитектура программирования

fb.login вопрос от новичка - как реализовать display=touch?

Я разрабатываю для мобильных устройств, у меня есть простое приложение, которое запускает страницу в веб-просмотре (без панели инструментов браузера, адресной строки и т. д.). Поскольку эта конфигурация браузера не может обрабатывать всплывающие окна, как я могу реализовать ее для запуска не всплывающего окна, а простого вызова URL-адреса для oauth? А также я хотел бы использовать функцию display="touch" в следующем коде:

jQuery(document).ready(function($){
if ( window.FB ) {
    FB.init({appId: '123456789000000',
        status: true,
        cookie: true,
        xfbml: true});
    $( 'html' ).attr( 'xmlns:og', 'http://opengraphprotocol.org/schema/' );
    $( 'html' ).attr( 'xmlns:fb', 'http://www.facebook.com/2008/fbml' );
}
});

function fbc_login() {
    if ( window.FB ) {
        FB.login( function( response ) {
            if ( response.session ) {
                window.location = 'http://www.mobii.hu/';
                }
            }, 
            { perms: 'email' 
            });
    }
};
function fbc_logout() {
    if ( window.FB ) {
        FB.logout( function( response ) {
            window.location = 'http://www.mobii.hu/index.php?option=com_comprofiler&task=logout&Itemid=2';
            });
        }
    };
function fbc_unjoin() {
    if ( window.FB ) {
        if ( confirm( 'Are you sure you want to unjoin http://www.mobii.hu?' ) ) {
        FB.api({
            method: 'Auth.revokeAuthorization' }, function( response ) {window.location = 'http://www.mobii.hu/';});
        }
    }
};

jQuery(document).ready(function($){
    if ( window.FB ) { 
        FB.logout( function( response ) {} ); 
    }
});

Спасибо заранее!


  • Спасибо, что так хорошо спросили! :) 23.09.2011

Ответы:


1

Насколько мне известно, display="touch" не работает должным образом при использовании JS SDK. Лучший план атаки здесь — это сочетание использования Facebook PHP SDK в сочетании с JavaScript SDK. . Идея состоит в том, чтобы использовать встроенный метод PHP SDK getLoginUrl() для создания URL-адреса входа на основе конфигурации вашего приложения, запрошенных разрешений и т. д., а затем передать этот URL-адрес вашей функции JavaScript.

PHP:

<?php
include('facebook.php');

$facebook = new Facebook(array(
    'appId' => YOUR_APP_ID,
    'secret' => YOUR_APP_SECRET
));

$loginUrl = $facebook->getLoginUrl(array(
    'req_perms' => 'email', // Non-OAuth 2.0 apps.
    /* 'scope' => 'email', */ // OAuth 2.0 apps.
    'display' => 'touch'
));
?>

И ваша функция fbc_login() должна быть такой:

<script type="text/javascript">
    function fbc_login() {
        document.location='<?php print $loginUrl; ?>';
    }
</script>

Надеюсь это поможет!

16.09.2011
  • Вы только что спасли мне около 45 минут моей жизни. Уважать. 23.09.2011
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..