2015-04-14 98 views
4

我正在構建包含加載網站的WebView的應用程序。 當用戶按下網站上的「與Facebook連接」時,我立即使用Facebook SDK打開「使用Facebook登錄」,以便使用用戶設備上的應用程序而不是網絡表單輕鬆進行身份驗證步驟。現在Facebook SDK與Android,獲取代碼而不是訪問令牌

,我的網站使用vBulletin當登錄完成了它被重定向到:

http://mywebsite.com/community/index.php?dofbredirect=1&code=[MY_CODE]&state=[SOME_STATE]

我可以當用戶按下「以Facebook Connect」,這是加載的網頁流量獲取狀態在網站上,但代碼是我不能擁有的東西,我只能獲得訪問令牌。

是否有任何方法使用Facebook SDK交換代碼而不是訪問令牌?

回答

2

該SDK請求response_type的值爲token。它看起來像達到你想要的,你需要手動建立登錄處理程序並請求response_type的價值code。更多關於此這裏: https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/

來源:https://github.com/facebook/facebook-android-sdk/blob/b384c0655fe96db71229bfdcb981a522f3f1e675/facebook/src/com/facebook/internal/ServerProtocol.java#L59-L60

+0

所以基本上,我可以修改的Facebook SDK本身獲取代碼,而不是訪問令牌? – Shynet

+0

是否要更改SDK(不推薦)或者構建自定義單獨的登錄處理程序取決於您:) – ifaour

+0

謝謝!我會看看它並給出更新 – Shynet