Как использовать javascript SDK из настольного приложения - PullRequest
9 голосов
/ 19 сентября 2011

Я пишу настольное приложение для взаимодействия с Facebook с помощью встроенного браузера, который запускает HTML \ javascript из локальных файлов.

Мне удалось использовать диалоговое окно входа для получения токена (используя метод, описанный в документации Facebook для настольных приложений), но я все еще не могу вызвать основные функции SDK, например,как FB.init () и FB.getLoginStatus () .

При выполнении FB.init () :

    FB.init({
        appId: '120260327220',
        status: true, // check login status
        oauth: true // enable OAuth 2.0
    });

Я получаю ответ HTTP (через сниффер HTTP):

<span>Given URL is not allowed by the Application configuration.: One or more of the given URLs is not allowed by the Application configuration. It must match one of the Connect or Canvas URLs or domain must be the same as or a subdomain of one of the Application&#039;s base domains.</span>

Ипри выполнении FB.getLoginStatus () :

        FB.getLoginStatus(function (response) {
            if (response.authResponse) {
                alert("logged in and connected user, someone you know");
            } else {
                alert("no user session available, someone you dont know");
            }
        });

я ничего не получаю!

Приложение полностью клиентское, то есть у меня нет серверной стороны, поэтому нетURL-адрес для регистрации приложения Facebook.Работает на IE.

Кто-нибудь знает, если и как я могу использовать javascript SDK facebook из локального файла javascript (для настольного приложения)?

РЕДАКТИРОВАТЬ: настройка URL-адреса приложения на http://localhost не является допустимым параметром, поскольку в конечном итоге этот сценарий должен быть в состоянии работать на любом компьютере, независимо от того, настроен ли localhost илинет.

Спасибо.

Ответы [ 5 ]

1 голос
/ 20 февраля 2013

Похожие:

JS SDK предназначен для использования на веб-сайтах (по определению, обслуживаемых и доступных через http или https), и мы не планируем поддерживать использование файла: или любых других протоколов. Это согласуется с плагинами в целом, где URI-адреса http / https можно использовать в качестве идентификаторов (среди прочего, открытый граф), но когда file: // URI не являются.

Вы можете попробовать инициализировать SDK внутри документа, доступного через Интернет, в том числе с помощью iframe - обратите внимание, что вам потребуется добавить логику для обеспечения правильного изменения размера.

В ответ на сообщение об ошибке Facebook .

1 голос
/ 04 декабря 2012

Так как я не получил приемлемого ответа, вот мои реализации и то, что я должен был сделать ::

Нет возможности использовать SDK Facebook на локальной странице из-за междоменных проблем ajax.

Чтобы обойти эту проблему, используйте ajax-вызовы JSONP для API-интерфейса графа Facebook (JSONP разрешен для междоменного домена).
Процесс входа в систему осуществляется путем навигации (в новом окне) к странице входа в систему с определенными параметрами URL для установки атрибутов страницы.

1 голос
/ 20 июня 2012

Как вы упомянули, у вас есть встроенный браузер в приложении для настольных компьютеров, поэтому в этом случае вы можете разместить страницу приложения, имеющую функциональность, связанную с Facebook, через Интернет и перетащить URL этой же страницы в свой встроенный браузер.Таким образом, вы сможете указать действительный домен в настройках приложения, а не localhost.Кроме того, вы можете совершать действительные вызовы API-интерфейсов Facebook со своей страницы, а затем ваше приложение Desktop может использовать все эти данные, связанные с Facebook, по мере их переноса во встроенный браузер.

В двух словах, ваше приложение Desktop будеточень похоже на холст Facebook, где страница приложения перетаскивается и отображается внутри холста.Однако в вашем случае вы будете иметь полный контроль над тем, как, когда, где и какие части страницы будут отображаться, и, кроме того, правильно склеенный и хорошо структурированный пользовательский интерфейс сделает внешнюю страницу и приложение для настольного компьютера смешанными, и пользователи никогда не придут кзнать разницу.

0 голосов
/ 21 сентября 2011

Какой URL-адрес приложения указан на странице разработчика приложения?Я просто догадываюсь на основании сообщения об ошибке FB.init (), что вам нужно, чтобы URL-адрес был "http://localhost/start имя страницы".При отладке нашего приложения мы запускаем его локально, и URL-адрес приложения устанавливается таким образом.

0 голосов
/ 20 сентября 2011

Если вы используете PhoneGap 1.0 и Xcode 4, начните с следующих инструкций: http://www.pushittolive.com/post/1239874936/facebook-login-on-iphone-phonegap

Моя установка выглядит следующим образом: http://cl.ly/AHQ1

Обязательно переместите ChildBrowser.jsфайл из папки плагинов и в корень вашей папки www.Также обязательно укажите ссылку на этот ChildBrowser.js в вашем файле index.html.

Затем выполните следующие 3 шага, http://collingo.com/2011/08/18/installing-childbrowser-ios-phonegap-plugin-in-xcode-4/

Наконец, обновите файл PhoneGap.plist, как указано в этомсообщение: http://wiki.phonegap.com/w/page/43708792/How%20to%20Install%20a%20PhoneGap%20Plugin%20for%20iOS, мое выглядит так: http://cl.ly/AHAH

...