java - FB 开发新手,尝试在本地 Eclipse/Tomcat 环境中通过 Java(服务器端流程)获取访问 token

标签 java facebook authentication

在eclipse下使用tomcat服务器进行本地开发。目标是使用 RestFB API 套件通过 Java 访问服务器端的用户信息。我在网上做了很多研究,但我很困惑。

我的应用程序使用站点 URL 设置: http://localhost:8080/

用户的初始 URL 是:

www.facebook.com/dialog/oauth?client_id=155730431154731&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2FSircolBase%2Ffboauth%2F&scope=user_about_me,friends_about_me,offline_access

用户点击此 URL 并接受应用程序。 FB 通过以下 URL 响应我的重定向 URL(这是一个 servlet):

localhost:8080/SircolBase/fboauth/?code=Mf_kXCH3Lo5cGeBuWw_R1x_1b1EJmvoXJpieDqsOk2k.eyJpdiI6IkJvdHRIMmJJZUR0cXNIdFZCX1E5d0EifQ.bjPZvcmNVLhk4KcfRwJwWSYKv6GVO e9TbveHRRIEoQ3BwXneDAfTKyzY4jw2k8BdSoc19QjSNJ8PrEEyQ0Uuomh3f4Nn_GEk95wGGJcI6sLnFDIXyC0_n7IbeJeRtazN

我解析 servlet 中的代码,然后构建 oAuth GET 请求,即:

graph.facebook.com/oauth/access_token?client_id=155730431154731&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2FSircolBase%2Ffboauth%2F&client_secret=xxxxxxd39227e77de9d8ef682abf299c&code=Mf_kXCH3Lo 5cGeBuWw_R1x_1b1EJmvoXJpieDqsOk2k.eyJpdiI6IkJvdHRIMmJJZUR0cXNIdFZCX1E5d0EifQ.bjPZvcmNVLhk4KcfRwJwWSYKv6GVOe9TbveHRRIEoQ3BwXneDAfTKyzY4jw2k8BdSOc19Qj SNJ8PreEEyQ0Uuomh3f4Nn_GEk95wGGJcI6sLnFDIXyC0_n7IbeJeRtazN

我在 Java 中执行 GET,响应返回为:

access_token=155730431154731|15d3fb5635abf840d87f7f75.1-570520241|kuj1yskauro43dmqspwh-rqktwa

我获取访问 token 并尝试立即在 java 中从本地服务器上的 servlet 执行 2 个调用:

graph.facebook.com/me?access_token=155730431154731%7C15d3fb5635abf840d87f7f75.1-570520241%7Ckuj1yskauro43dmqspwh-rqktwa&format=json

graph.facebook.com/JonesJerryK?access_token=155730431154731%7C15d3fb5635abf840d87f7f75.1-570520241%7Ckuj1yskauro43dmqspwh-rqktwa

两者都返回:

{"error":{"type":"OAuthException","message":"访问 token 签名无效。"}}

我做错了什么?请注意,沿此顺序的两个重定向 URL 引用均已编码且相同。上面的 access_token 看起来格式正确吗?有些人认为事实并非如此。请注意,我在此应用程序中请求“offline_access”。

感谢您的任何提示。

最佳答案

这看起来太复杂了。您可以使用RestFB ,或 Facebook Java API其中已经封装了执行此操作的所有技术细节。

关于java - FB 开发新手,尝试在本地 Eclipse/Tomcat 环境中通过 Java(服务器端流程)获取访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6456461/

相关文章:

java - 如何将 Java 颜色转换从 RGB 反转为 CIEXYZ/CIELAB

iphone - 如何通过 ShareKit 在 facebook 上发布带图片的 URL

rest - XPages REST 服务和与外部系统的身份验证

ios - 图片的 Graph API 更改

ios - 在 ios 应用程序上使用 facebook Logo

asp.net - session 在 asp.net 网站上混在一起

c# - 登录时Web API多重身份验证

java - 如何增加 SQL_ACTIVE_STATEMENTS LIMIT

java - 如何在 linux 中只获取进程的监听端口

java - 在ajax调用中没有获得成功响应,每次都进入错误函数