如何从 Java 桌面应用程序中的重定向 uri 获取 facebook 代码
Posted
技术标签:
【中文标题】如何从 Java 桌面应用程序中的重定向 uri 获取 facebook 代码【英文标题】:How to get facebook code from redirect uri in Java desktop application 【发布时间】:2015-05-08 10:53:40 【问题描述】:我是 graph facebook api 的新手。我尝试通过发送 http 请求来获取 MY_VERIFICATION_CODE:
链接1: https://facebook.com/dialog/oauth?client_id=APP_ID&redirect_uri=https://www.facebook.com/connect/login_success.html
然后 Facebook 会重定向到http://www.facebook.com/connect/login_success.html?代码=MY_VERIFICATION_CODE
但我无法从响应中获取代码。我将 link1 复制到 chrome,它重定向到 url,并附加了一个代码作为参数,但这个 url 只停留几秒钟,然后它变为:https://www.facebook.com/connect/blank.html#=
我的问题是如何在 java 桌面应用程序中从重定向的 uri 中读取代码?
【问题讨论】:
【参考方案1】:这一切都在文档中描述
https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.3#login引用:
当使用桌面应用程序并登录时,Facebook 会将用户重定向到上面提到的 redirect_uri,并在 URI 片段中放置一个访问令牌和一些其他元数据(例如令牌到期时间):
https://www.facebook.com/connect/login_success.html#access_token=ACCESS_TOKEN...
您的应用需要检测此重定向,然后使用您正在使用的操作系统和开发框架提供的机制从 URI 中读取访问令牌。然后,您可以直接跳到检查访问令牌步骤。
【讨论】:
是的,它提到了,但我如何才能知道应用程序已被重定向到该 URL。? 没错。我同意 sonu以上是关于如何从 Java 桌面应用程序中的重定向 uri 获取 facebook 代码的主要内容,如果未能解决你的问题,请参考以下文章
IOS 应用程序中的 instagram 集成中的“重定向 URI 与注册的重定向 URI 不匹配”
出现错误:redirect_uri_mismatch 请求中的重定向 URI:http://localhost:8080/oauth2callback 与注册的重定向 URI 不匹配
带有 openid / AppAuth-Android 的重定向 URI 中的多实例
redirect_uri_mismatch 请求中的重定向 URI 与授权给 OAuth 客户端的重定向 URI 不匹配