2011-10-14 30 views
3

所以我一直在嘗試運行PhoneGap/Android的Facebook Connect示例,但沒有運氣。 https://github.com/davejohnson/phonegap-plugin-facebook-connect *Facebook Connect/phonegap - FB.init調用中的「nativeInterface」參數,它做了什麼?

有同樣的問題一些類似的主題。結論是,「Facebook的SDK是一個動點」

我已成功編譯以前的應用程序使用PhoneGap的&的Eclipse。 現在遵循Android的示例*。如果我完全按照他們的建議去做。應用程序顯示的按鈕,但沒有任何反應,當我點擊它們。

分析代碼後,我已經注意到,

function initFB(){ 
try { 
    FB.init({ appId: "45253452345234523", nativeInterface: PG.FB }); 
    document.getElementById('data').innerHTML = ""; 
    } catch (e) { 
    alert(e); 
    } 
} 

有一個參數nativeInterface:這是行不通的Facebook API本次通話中描述PG.FB .. http://developers.facebook.com/docs/reference/javascript/FB.init/

什麼是更有趣是當我刪除此參數..突然登錄按鈕去錯誤代碼API 191的Facebook頁面。

所以我的問題是這個參數應該做什麼?以及爲什麼它不在Facebook API中?

我在互聯網上找不到關於這個參數的信息。我想如果這是一個過時的FB API的情況下,會有一些信息可用。

任何想法?

感謝,

馬辛

回答

6

的「nativeInterface:PG.FB」選項是告訴PhoneGap的使用本地認證接口,而不是移動網絡接口。如果你沒有添加「PG.FB」選項,你將被重定向到Facebook的移動身份驗證。我花了一段時間才弄清楚這一點,但沒有很好的文檔記錄,但這就是發生了什麼事情。關於實的PhoneGap插件

兩個其他的東西,都沒有達到與最新的Facebook的JavaScript SDK:

  1. 使用的FB.login(),你應該使用「範圍」參數,但PhoneGap的預計不推薦使用「perms」參數。
  2. 當來自FB.login()的認證響應應該是獲得「response.authResponse」,而是「response.session」是什麼回報。這意味着您必須使用「response.session.auth_token」而不是「response.authResponse.accessToken」來提取OAuth訪問令牌。

希望他們能夠更新PhoneGap Facebook Plugin,但現在我使用if/else語句來檢測PhoneGap是否存在。您可以檢查是否PhoneGap的初始化使用:

如果(window.PhoneGap){
    // PhoneGap的庫加載
}

相關問題