java Facebook应用程序访问令牌和普通ol访问令牌
我想知道是否有人能帮我理解访问令牌和应用访问令牌之间的区别,以及何时使用它们
当我使用restFB库获取访问令牌时,我的问题是:
AccessToken accessTokenT =
new DefaultFacebookClient().obtainAppAccessToken(appID, appSecret);
正如我所料,它会返回应用程序访问令牌。但是,当我使用该令牌实例化FacebookClient对象时:
FacebookClient facebookClient = new DefaultFacebookClient(accessToken);
它失败,并显示以下消息:
Exception in thread "main" com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: (#200) The user hasn't authorized the application to perform this action (code 200, subcode null)
如果我去graph explorer手动获取一个访问令牌,然后在代码中使用它,一切正常
我确信我遗漏了一些微妙的东西,任何帮助都将不胜感激
非常感谢
# 1 楼答案
主要有3种类型的访问令牌-
facebook的文档:Access Tokens解释了很多关于它们的内容。你可以看看
您应该使用用户访问令牌初始化
facebookClient
。用户访问令牌是在用户登录/授权应用程序时获得的。此令牌用于查询有关用户的信息(了解用户授予应用程序的权限)。应用程序访问令牌的权限非常有限,比如:在用户授予应用程序授权后代表用户发布,或发送请求等