[英]getting access token from Facebook - alloy titanium
我已經使用鈦合金制作了一個應用程序
index.js
// Use the Alloy.Globals.Facebook namespace to make Facebook module API calls
var facebookModule = Alloy.Globals.Facebook;
//set facebook app id
facebookModule.appid = Ti.App.Properties.getString("ti.facebook.appid");
//set permissions i.e what data I want
facebookModule.permissions = ['user_friends','user_photos'];
// Do not force a facebook html popover but use the native dialog if possible
facebookModule.forceDialogAuth = false;
//invoke method onto button from module
$.fbButton.style = facebookModule.BUTTON_STYLE_WIDE;
$.index.open();
在我的index.js控制器中,我有這段代碼,它會執行,並顯示登錄屏幕。
然后,我陷入兩個問題:
1)“ FB會話:僅應從單個線程使用” 2)我無法獲取訪問令牌。
由於內置的登錄功能具有自己的事件處理程序,因此不確定如何解決這兩個問題。
干杯
就像您說的那樣,內置的登錄功能確實具有其自己的處理程序..因此,您應該偵聽事件更改,如下所示:
facebookModule.addEventListener('login', function(e) {
if (e.success) {
Ti.App.Properties.setString('face_token', facebookModule.getAccessToken());
// DO SOMETHING WITH THE TOKEN - open new window, auth the user...
}
});
如果您嘗試在觸發登錄事件之前獲取訪問令牌,那么最終結果很糟糕。 現在有關單線程的事情..我確實碰到了一段時間。.我不確定要解決什么問題,但是我認為這可能與打開多個窗口或事件有關,允許多個調用facebook API。 嘗試檢查是否要關閉窗口,以及是否多次調用了登錄功能。
讓我知道這是否適合您。 祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.