2011-06-07 42 views
2

我想在Facebook畫布頁面上使用FB.ui oauth彈出窗口。我正在使用最新的Javascript SDK。Facebook上的FB.ui oauth彈出畫布頁面

在頁面選項卡上,它的工作效果很好:FB.ui({method: 'oauth'}, callback);這給了我允許訪問彈出窗口,然後完美地響應我的回調。不需要重定向。

但是,當我在Canvas上嘗試完全相同的操作時,出現一個FB對話框,其中顯示「發生錯誤,請稍後再試」。有沒有人得到它的工作,或知道任何解決方法?

我的確成功了top.location.href = "http://www.facebook.com/dialog/oauth?client_id=xxx&redirect_uri=xxx的方法,但我寧願不必重定向,如果可能的話。

回答

5

事實證明,FB.login(回調)在畫布頁面上工作正常,並且避免了重定向。

所以我的答案是隻是改變FB.ui而不是FB.login。發送給回調的響應與FB.ui略有不同,但非常接近。

FB.login(function(response) { 
    if(response && response.session) { 
    //do stuff with session 
    } 
}); 
+0

謝謝,我有同樣的問題(並且在我使用'FB.ui'之前,我有自己的自定義彈出窗口設置,這很醜陋) – 2011-09-12 20:43:12

0

「不起作用」是什麼意思?如果不響應用戶事件(如點擊鼠標),彈出窗口可能會被阻止。

+0

我更新了問題以解釋更好。我收到一個FB對話框,其中顯示「發生錯誤,請稍後再試。」 – 2011-06-07 14:16:50

相關問題