2013-04-10 5 views
7

Недавно я интегрировал phonegap-facebook-plugin (https://github.com/phonegap/phonegap-facebook-plugin) в iOS и Android (в том же приложении).Facebook Войти с помощью PhoneGap/Cordova App

Я хочу сделать что-то, что я считаю простым: обходите вызов на родной Facebook для входа/аутентификации и всегда используйте диалоговое окно сети. Как можно это сделать?

Мой Логин в настоящее время код выглядит следующим образом:

Init код:

//facebook initialization 
FB.init({ 
    appId: 'xxxxxxxxxxxx', //'<%#= FB_APP_ID %>',//'', 
    nativeInterface: CDV.FB, 
    useCachedDialogs: false 
}); 

И вызов Войти является:

FB.login(function(response) { 
          if (response.authResponse) { 
           // connected 

            me.signInFacebook({ 
            token: response.authResponse.accessToken, 
            email: response.authResponse.email, 
            success: function (data) { 

            // hide login view and show tabview 
            form.destroy(); 

            // continue whatever action was previously happening 
             me.continueAction(tabIndexBack, callback); 
            }, 
            failure: function (response) { 
             // show errors          Ext.Viewport.down('tabscontainerview').setActiveItem(3); 
            } 
           }); 
          } else { 
           //go back 
           Ext.Viewport.down('tabscontainerview').setActiveItem(3); 
           alert('fb login error'); 
          } 
         },{ scope: "email" }); 

Спасибо за вашу помощь !!

+0

Я просто хочу сделать то же самое! любая помощь? –

+0

http://stackoverflow.com/questions/16576977/is-there-any-facebook-plugin-for-phonegap-2-7-0/16579592#16579592 –

ответ

4

Я создал плагин, чтобы облегчить связь между Facebook и PhoneGap без использования плагинов Native только с Jquery:

https://github.com/studiosoton/faceGap

+0

Плагин выглядит чрезвычайно полезным! Однако я не понимаю, как его использовать. Текущий javascript - это автономная функция, нет? –

+0

Я использовал этот плагин для входа в facebook. Но как установить хост для проектов Phonegap – User16119012

+0

официальный сейчас [здесь] (https://github.com/wizcorp/phonegap-facebook-plugin) – mut1na

0

На Android версии плагина, вы можете заставить его использовать диалог, изменяя способ, которым плагин звонит me.facebook.authorize в login действии класса org.apache.cordova.facebook.ConnectPlugin.

Вам нужно пройти в дополнительном activityCode параметра с Facebook.FORCE_DIALOG_AUTH:

me.facebook.authorize(cordova.getActivity(), me.permissions, Facebook.FORCE_DIALOG_AUTH, new AuthorizeListener(me)); 

Я не совсем уверен, прошивкой, но вы могли бы попробовать с openWithBehavior и FBSessionLoginBehaviorForcingWebView

0

Без каких-либо плагинов Facebook вы можете использовать функции Facebook, для этого используйте phonegap.facebook.inappbrowser.js, используя этот js, вы можете легко получить доступ к Л.Л. Facebook функциональность для получения дополнительной информации посетите этот URL: Facebook Integration Step without any plugins

1

Чтобы обойти родной FB логин, вы можете сделать свой собственный ручной facebook процесс аутентификации без использования JavaScript SDK в Facebook (https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.3) через inAppBrowser или ChildBrowser плагинов.

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

https://www.facebook.com/dialog/oauth?client_id={app-id}&redirect_uri={redirect-uri}&response_type=token&scope=email 

Facebook перенаправляет людей на redirect_uri упомянутую выше, и помещает маркер доступа наряду с некоторыми другими метаданными (например, маркера истечения времени) в фрагменте URI:

https://www.facebook.com/connect/login_success.html# 
access_token=ACCESS_TOKEN... 

Ваше приложение должно обнаружить переадресацию, а затем прочитать маркер доступа из URI. Затем вы можете перейти прямо к шагу «Проверка доступа».

Смежные вопросы