2010-11-22 26 views
0

我的Facebook應用程序驗證使用php api,除非需要驗證ajax元素時,這很棒。獲取Facebook會話以用作GET參數

當我使用jquery的負載來在頁面上的ajax一個元素在Opera中失去認證,然後重定向到facebooks login.php,然後重定向回到ajax頁面(這意味着只能是整個頁面的一個元素) 。

任何方式,如果它保持身份驗證,它不會重定向...所以我想如果我通過會話作爲GET參數,那麼它不會是一個問題。我如何從$ facebook獲得會話變量?

+0

您是否在PHP SDK中使用Cookie模式? – 2010-11-22 19:51:30

+0

我這麼認爲......我該如何開啓它? – Starlin 2010-11-22 22:19:54

回答

0

我假設你在iframe應用程序中。問題在於Opera不允許在iframe應用中使用cookie。所有其他瀏覽器都從cookie中讀取Facebook會話,但Opera不是。因此,對於歌劇,您將不得不依賴會話(或signed_request)查詢參數的值。你應該從querystrin中讀取這些參數。查看您的iframe窗口的實際來源。你會看到你的url有一個?session或?signed_request查詢參數。從查詢字符串中讀取這些值後,只需將它們發送給您的ajax調用,並且您應該很好。坦率地說,我只是完全關閉了一個iFrame應用程序的Cookie。他們是不可靠的(閱讀不適用於所有瀏覽器),在我看來,這意味着你不應該使用它們。