2010-10-13 220 views
4

請求訪問令牌時,我從Facebook獲取400錯誤請求錯誤。我的return_uri包含引起問題的查詢字符串參數。我編碼的return_uri,但我仍然得到錯誤。誰能幫我這個?請求Facebook訪問令牌時400請求錯誤

這裏是我送至Facebook請求:

「https://graph.facebook.com/oauth/access_token?client_id=IDb & client_secret = SECRET & REDIRECT_URI = HTTP%3A%2F% 2fexample.com%2fOAuthHttpHandler.ashx%3fReturnUrl%3d%2fpage.aspx & code = CODE「

我得到一個」錯誤驗證驗證碼「。錯誤信息。

我做多一點挖,發現下面的REDIRECT_URI正常工作:

「http://example.com/OAuthHttpHandler.ashx?ReturnUrl=page.aspx」

但如果我傳遞「/secure/page.aspx」驗證失敗的返回URL。我試着編碼正斜槓,但沒有運氣。

回答

5

不幸的是,Facebook Oauth實現並沒有很好地處理return_uri查詢字符串中的url參數,即使它們編碼正確。有多個線程在FB開發者論壇討論這個問題:

http://forum.developers.facebook.net/viewtopic.php?pid=237845 http://forum.developers.facebook.net/viewtopic.php?pid=239866 http://forum.developers.facebook.net/viewtopic.php?pid=255231

,直到其固定在他們的最後,你將不得不使用穿過狀態的另一種方法:會話,餅乾,或者在url中構建一個簡單的頁面特定標識符。

-1

當我發送郵件到Facebook時,我所做的只是用破折號替換斜槓。然後在回調中,再次用斜槓替換破折號!

+1

一樣的uri完全相同uri我也嘗試過......可悲地沒有擺脫我的錯誤:( – 2012-02-13 22:52:51

2

經過幾個小時的搜索,我終於找到了一個很好的解決方案,返回「錯誤請求400」的facebook access_token請求。 發送到「https://graph.facebook.com/oauth/access_token」的return_uri參數必須與發送到「https://graph.facebook.com/oauth/authorize

相關問題