java - OAuthException : Error validating verification code

标签 java facebook-graph-api servlets

我创建了两个名为 s1s2 的 servlet。

s1 将请求转发至

https://graph.facebook.com/oauth/authorize?client_id=41050677*****&redirect_uri=http://localhost:8080/fb10/s2& scope=publish_stream,create_event

s2 中,我获取代码并将其重定向到 facebook 成功页面:

https://graph.facebook.com/oauth/access_token?client_id=410506779*********&redirect_uri=http://www.facebook.com/connect/login_success.html& client_secret=22049dc145289c2dd7**************&code=(extract code form url)

但是我收到错误:

 {
   "error": {
      "message": "Error validating verification code.",
      "type": "OAuthException",
      "code": 100
   }
}

这是怎么造成的以及如何解决?我使用了 responce.sendredirect(); 进行重定向。

最佳答案

不应该进行重定向来用代码交换 token - 考虑一下 - 您将应用程序 key 放入此 URL,因此当您将客户端重定向到时,用户可以轻松地在那里找到它!

https://developers.facebook.com/docs/authentication/server-side/ 明确表示步骤4。将代码交换为用户访问 token :

Once the user has authorized your app, you should make a server side request to exchange the code returned above for a user access token.

关于java - OAuthException : Error validating verification code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12417594/

相关文章:

java - 调用 Tomcat doFilter() 并提交响应

javascript - 检查字符串是否在列表中(JavaScript)

java - java在线mp3处理

php - Facebook API : Login using JavaScript SDK then checking login state with PHP

php - Facebook直接使用PHP发布流

java - 在表单中使用 multipart/form-data enctype 时无法将参数传递给 servlet

java - 当有很多属性时,不在 Java 中使用 set 和 get 方法

java - 如何在java中读取文本文件并存储在类对象中

facebook - 从 2014 年 5 月起,我是否需要 Facebook 的应用程序批准才能从 Android 应用程序发布到我们自己的提要?

java - 使用 servlet 接收音频文件