簡體   English   中英

從Facebook獲取訪問令牌-鈦合金

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM