我正在开发一个小的 Java桌面项目。基本上,我需要通过 Facebook 帐户关联我的用户,一旦经过验证,我想要检索一些公开信息 (姓名,电子邮件,生日) ...
我一直在研究这个问题,但是我读的越多,它就越复杂。有很多要点让我感到很困惑,我只是想把头撞到我的屏幕上:D
总之...
1-我明白我需要一个 Facebook SDK (我正在使用restFB)
2-在Facebook上创建应用程序
3-请求权限
4-获取用户访问令牌
5-检索所需数据(姓名,电子邮件,生日)
有一点我不明白,我是否必须在我的Java应用程序中嵌入某种形式的 Webbrowser ,以便我可以继续使用Facebook登录过程,或者可以通过 RestFB < / STRONG>?不幸的是,RestFB几乎没有解释如何登录用户,当我发现足够接近的用户是硬编码的,但是如果我想每次注册一个新用户怎么办?
这就是我现在关于登录过程的全部内容:
AccessToken accessToken = new DefaultFacebookClient().obtainAppAccessToken("471150563090234", "97514014f41b3c1e7f5b697ab5708dec");
String token=accessToken.getAccessToken();
DefaultFacebookClient facebookClient = new DefaultFacebookClient(token);
任何类型的帮助将不胜感激!此外, OAuth 在哪里适合所有这些,我觉得这是我缺少的那部分:)
答案 0 :(得分:0)
您有两种可能性:
使用嵌入式网络浏览器。根据你的应用程序,你使用它们的框架等等,这在某些句子中解释起来并不好玩,有点复杂。它非常具体,在很大程度上取决于您的应用程序的工作方式。
更简单的方法是使用设备访问令牌。您可以让用户在他/她的浏览器中打开提供的网址,并输入您在应用中显示的代码。只要用户完成身份验证过程或发生超时,您的应用程序就必须轮询Facebook。
在这里查看restfb文档:http://restfb.com/documentation/#access-token-device
以及Facebook上的设备登录说明: https://developers.facebook.com/docs/facebook-login/for-devices