我想知道是否有人可以帮助我理解访问令牌,应用访问令牌和何时使用每个令牌之间的区别。
如果我使用restFB库来获取访问令牌,那么我的问题是:
AccessToken accessTokenT =
new DefaultFacebookClient().obtainAppAccessToken(appID, appSecret);
正如我所料,它会返回App Access令牌。但是,当我使用该令牌实例化FacebookClient对象时:
FacebookClient facebookClient = new DefaultFacebookClient(accessToken);
它失败并显示以下消息:
线程中的异常" main" com.restfb.exception.FacebookOAuthException:收到OAuthException类型的Facebook错误响应:(#200)用户未授权应用程序执行此操作(代码200,子代码为null)
如果我去图形浏览器并手动获取访问令牌,那么在我的代码中使用它,一切正常。
我确信有一些微妙的东西我不知道,任何帮助都会受到高度赞赏。
非常感谢
答案 0 :(得分:0)
主要有3种类型的访问令牌 -
facebook的文档:Access Tokens,解释了很多关于它们的内容。你可以看看。
您应该使用用户访问令牌初始化facebookClient
。用户登录/授权应用程序时获取用户访问令牌。此令牌用于查询用户(他已授予应用程序权限)。 App 访问令牌的功能非常有限,例如:一旦他向应用程序授予了授权,就会代表用户发布,或者发送请求等。