2011-03-04 90 views
5

我正試圖從Facebook接收令牌。我幾個晚上都對此感到頭痛,希望另一雙眼睛能夠幫助我!訪問令牌Facebook服務器端流量問題:「驗證驗證碼時出錯。」

https://developers.facebook.com/docs/authentication/所述,Facebook的服務器端流程聲明訪問令牌URL應採用此格式。

https://graph.facebook.com/oauth/access_token? 
    client_id=YOUR_APP_ID&redirect_uri=YOUR_URL& 
    client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE 

潔淨的URL(修改CLIENT_ID,client_secret的價值觀和代碼):

https://graph.facebook.com/oauth/access_token?client_id=000000000000000&redirect_uri=http%3a%2f%2flocalhost%3a57260%2f&client_secret=00000aa0a000a0a000000aaaa0000a00&code=0.aAaAaa_aaAaaaAAaAaA_aa__.0000.0000000000-0000000000|aAAa0AAaa0AA0aAAAAaAA0Aa0a0 

我收到的錯誤是

{ 
    "error": { 
     "type": "OAuthException", 
     "message": "Invalid verification code format." 
    } 
} 

我見過多個帖子提到,redirect_uri需要以斜線(「/」)結尾,我提供了這些。 URL中唯一對我來說很可疑的是端口號,因爲這是Visual Studio將我的開發地址分配爲的redirect_uri http://localhost:57260/。這與我的網站網址 中的Facebook應用設置相符。

在此先感謝!

回答

15

最常見的錯誤我是REDIRECT_URI必須在這兩個URL完全匹配:

  1. https://www.facebook.com/dialog/oauth? client_id = YOUR_APP_ID & redirect_uri = YOUR_URL & scope = email,read_stream
  2. https://graph.facebook.com/oauth/access_token? CLIENT_ID = YOUR_APP_ID & REDIRECT_URI = YOUR_URL & client_secret = YOUR_APP_SECRET &碼= THE_CODE_FROM_ABOVE

你的樣品return_uri網址看起來太短了(除非你做的網站的根認證)。

+1

有趣...我的Facebook網站的網址是「http:// localhost:57260 /」,這是我認爲我應該匹配。我的facebook.com/dialog/oauth/ redrect_uri是「http:// localhost:57260/FacebookAuth.aspx」。你是說access_token redirect_uri應該使用「http:// localhost:57260/FacebookAuth.aspx」而不是「http:// localhost:57260 /」,對嗎?我會在今晚晚些時候嘗試。 – proudgeekdad 2011-03-04 17:45:39

+1

完全匹配/ oauth /和access_token中的redirect_uri解決了這個問題。謝謝,阿列克謝! – proudgeekdad 2011-03-04 23:28:01

+0

@proudgeekdad爲我工作!非常感謝! – GameScripting 2012-01-09 19:39:48

相關問題