我对如何在Spring Social中使用Facebook的应用访问令牌感到困惑。
我已经通过向GET请求发送了一个应用访问令牌:
我无法使用(出于我不想在此讨论的原因)标准的Spring Social连接创建流程,我想使用此令牌(如果可能的话)。
我的问题通常是针对GraphApi
。
一般来说,我可以使用通过标准GET获取的app访问令牌通过Spring Social向Graph Api发出请求吗?
谢谢,
答案 0 :(得分:4)
应用访问令牌可用于极少数事情。 Graph API中的大多数操作都是用于获取用户数据,因此您必须获取用户访问令牌。您拥有的应用访问令牌将无法使用。
如果您计划使用应用访问令牌来获取用户的个人资料,查看他们的朋友列表,或发布到他们的时间线(或任何与用户相关的内容),那么您就不走运了。想象一下,如果您只需要代表用户阅读和发布所有内容就可以获得应用程序访问令牌,那将会产生混乱! 必须获得用户对此类内容的许可。
获取用户访问令牌的方法有3种:授权代码授权(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告诉我,我会很感激。