2011-11-19 49 views
-1

我正在開發Facebook應用程序作爲頁面選項卡應用程序。我想在用戶通過粉絲頁面訪問應用程序之前顯示OAuth對話框。我怎樣才能做到這一點?如何爲通過粉絲頁面選項卡訪問的Facebook應用程序顯示OAuth對話框?

對於畫布應用程序,當從應用程序設置(增強型身份驗證對話框)啓用OAuth對話框時,將通過apps.facebook.com/myapp訪問應用程序時顯示OAuth對話框。但當我使用頁面標籤訪問相同的應用程序添加到粉絲頁面中,OAuth對話框不顯示。

回答

0

查看教程Canvas Tutorial

關鍵的訣竅是,你需要的目標(iframe的外部) 「_top」 窗口...例如,

echo('<script> top.location.href="' . $auth_url . '"</script>'); 

echo('<a target="_top" href="' . $auth_url . '">Authorize this application...</a>'); 

據我所知,你可以未在iframe內完成此授權流程。

我還推薦從Facebook開發者車庫:巴黎(2011-03-29)觀看短視頻Authentication: An Overview

如果您想請求身份驗證(或在身份驗證後添加一些額外權限),請參閱兩個JavaScript SDK函數FB.getLoginStatusFB.login。請注意0​​會啓動一個彈出窗口 - 所以它必須由用戶click事件觸發(或者某些瀏覽器會阻止彈出窗口)。這種方法的好處是不需要頁面重定向 - 彈出窗口無需重新加載即可傳回響應。

相關問題