有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Spring Social中使用Facebook appAccessToken

对于如何在Spring Social中使用Facebook的应用访问令牌,我有点困惑

我已通过向以下地址发出GET请求获得了应用程序访问令牌:

http://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials

我不能使用标准的Spring社交连接创建流(因为我不想在这里讨论的原因),我想使用这个令牌(如果可能的话)

我的问题通常是针对GraphApi

那么,一般来说,我可以使用通过标准GET获取的应用访问令牌,通过Spring Social向Graph Api发出请求吗

谢谢


共 (1) 个答案

  1. # 1 楼答案

    应用程序访问令牌可以用于的事情很少。Graph API中的大多数操作都是用于获取用户数据的,因此您必须获得用户访问令牌。你拥有的应用程序访问令牌将不起作用

    如果你计划使用应用访问令牌获取用户的个人资料,查看他们的好友列表,或发布到他们的时间线(或任何与用户相关的内容),那么你就不走运了。想象一下,如果你要代表一个用户阅读和发布,只需要获得一个应用程序访问令牌,就会出现混乱!你必须获得用户对这类事情的许可

    获取用户访问令牌有三种方式:授权码授权(Spring Social的ConnectController就是这么做的,最适合传统的web应用程序)、隐式授权(更适合客户端Javascript),和资源所有者凭据授予(这最适合于移动或桌面应用程序,在这些应用程序中,执行浏览器重定向是笨拙、困难或不可能的)

    您拥有的应用程序访问令牌仅用于使用以应用程序为中心且不属于任何给定用户的API端点。Facebook的API中有一些这样的操作,但唯一能立即想到的是,你可以使用应用令牌来创建测试用户(参见https://developers.facebook.com/docs/test_users/

    正如Facebook的大部分API以用户为中心一样,Spring Social的Facebook API绑定也是如此。但是,如果您希望看到Spring Social中添加以应用程序为中心的操作,如果您能在https://jira.springsource.org/browse/SOCIALFB通知我,我将不胜感激