2013-04-10 106 views
7

我最近將phonegap-facebook-plugin(https://github.com/phonegap/phonegap-facebook-plugin)集成到iOS和Android(同一應用程序)中。Facebook登錄PhoneGap /科爾多瓦應用程序

我想做一些我認爲很簡單的事情:將電話旁路到本地Facebook進行登錄/身份驗證,並且始終使用網絡對話框。一個人如何去完成這件事?

我的登錄代碼目前看起來是這樣的:

初始化代碼:

//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

我創建了一個插件,以方便不使用插件本機只使用jQuery Facebook和PhoneGap的之間的連接:

https://github.com/studiosoton/faceGap

+0

你的插件看起來非常有用!但是,我不明白如何使用它。目前的JavaScript是一個自包含的功能,不是嗎? –

+0

我用這個插件能夠登錄到Facebook。但如何爲PhoneGap項目設置主機 – User16119012

+0

官方現在是[這裏](https://github.com/wizcorp/phonegap-facebook-plugin) – mut1na

0

在插件的Android版本,你可以強制它通過使用對話框修改插件在org.apache.cordova.facebook.ConnectPlugin類的login操作中調用me.facebook.authorize的方式。

你需要在額外的activityCode參數來傳遞與Facebook.FORCE_DIALOG_AUTH

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

我不能完全肯定的iOS,但你也許可以嘗試與openWithBehaviorFBSessionLoginBehaviorForcingWebView

1

要繞過本地FB登錄,您可以通過inAppBrowser或ChildBrowser插件製作您自己的手動Facebook身份驗證流程,無需使用Facebook的JavaScript SDK(https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.3)。

您的應用程序必須發起一個重定向到一個端點,將顯示登錄對話框:

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

Facebook的重定向人上面提到的REDIRECT_URI並與其他元數據標記一起放置訪問(如令牌到期時間):

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

您的應用需要檢測到此重定向,然後從URI中讀取訪問令牌。然後您可以直接跳到檢查訪問令牌步驟。

相關問題