Facebook App Access Tokens和Plain ol Access Tokens

时间:2014-03-25 09:58:35

标签: java facebook facebook-graph-api facebook-access-token

我想知道是否有人可以帮助我理解访问令牌,应用访问令牌和何时使用每个令牌之间的区别。

如果我使用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)

如果我去图形浏览器并手动获取访问令牌,那么在我的代码中使用它,一切正常。

我确信有一些微妙的东西我不知道,任何帮助都会受到高度赞赏。

非常感谢

1 个答案:

答案 0 :(得分:0)

主要有3种类型的访问令牌 -

  1. 用户访问令牌
  2. 页面访问令牌
  3. 应用访问令牌
  4. facebook的文档:Access Tokens,解释了很多关于它们的内容。你可以看看。

    您应该使用用户访问令牌初始化facebookClient。用户登录/授权应用程序时获取用户访问令牌。此令牌用于查询用户(他已授予应用程序权限)。 App 访问令牌的功能非常有限,例如:一旦他向应用程序授予了授权,就会代表用户发布,或者发送请求等。