访问令牌的Facebook服务器端流问题:"验证验证码时出错".

pro*_*dad 5 c# asp.net facebook oauth

我正试图从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
Run Code Online (Sandbox Code Playgroud)

清理的 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
Run Code Online (Sandbox Code Playgroud)

我收到的错误是

{
   "error": {
      "type": "OAuthException",
      "message": "Invalid verification code format."
   }
}
Run Code Online (Sandbox Code Playgroud)

我看过多个帖子提到redirect_uri需要以斜杠("/")结尾,而且我已经提供了.URL中唯一让我感到怀疑的是端口号作为我的redirect_uri http:// localhost:57260 /,因为这是Visual Studio将我的开发地址分配为.这与Facebook应用设置中的我的网站网址匹配.

提前致谢!

Ale*_*kov 15

我遇到的最常见的错误是redirect_uri必须在两个Url中完全匹配:

  1. https://www.facebook.com/dialog/oauth?CLIENT_ID = YOUR_APP_ID&REDIRECT_URI = YOUR_URL&范围=电子邮件,read_stream
  2. 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

您的示例return_uri url看起来太短(除非您在站点的根目录上进行身份验证).