【发布时间】:2014-07-11 22:44:49
【问题描述】:
“当使用桌面应用程序并登录时,Facebook 会将人们重定向到上述的 redirect_uri,并在 URI 片段中放置一个访问令牌和一些其他元数据(例如令牌到期时间):
https://www.facebook.com/connect/login_success.html# access_token=ACCESS_TOKEN... 您的应用需要检测此重定向,然后使用您正在使用的操作系统和开发框架提供的机制从 URI 中读取访问令牌。然后您可以直接跳到检查访问令牌步骤。 "
这是 facebook 文档中关于通过桌面应用程序构建手动登录流程的内容。 我的问题是如何在 java 桌面应用程序中从重定向的 uri 中读取访问令牌?
【问题讨论】:
-
你的意思是你在服务器上运行Java还是Java-applet?如果您在服务器上运行 Java,您将无法读取它。 Web 浏览器永远不会将 URL 的哈希部分发送到服务器
-
如果您的应用正在生成 webview,您可能能够访问该 webview 中显示的当前 URI - 您如何打开登录对话框?
-
我只是将以下 url facebook.com/dialog/oauth?client_id=************redirect_uri=facebook.com/connect/login_success.html&response_type=token 重定向到桌面浏览器。浏览器显示登录对话框,一旦您授权该应用程序,它就会重定向到带有作为参数附加的访问令牌的 url,但此 url 仅保留几秒钟,然后变为:facebook.com/connect/blank.html#_=_
-
你找到答案了吗?
标签: java facebook desktop-application facebook-oauth facebook-access-token