1

在这个问题( How to use Facebook appAccessToken with Spring Social)中之前曾询问过使用应用程序访问令牌, Craig Walls很好地解释了为什么 spring-social API 在大多数情况下应该是基于用户的。

我有一个场景,但是我希望我们的服务器端应用程序进行一些不需要用户特定权限的查询。我为下面的示例选择了一个随机的公共页面

我想:

当我使用 App Access Token在 Graph API Explorer ( https://developers.facebook.com/tools/explorer )中测试这些时,它们工作正常。应用访问令牌是通过点击https://graph.facebook.com/v2.0/oauth/access_token?client_id={app-id}&client_secret={app-secret}&grant_type=client_credentials和替换client_id以及client_secret使用我的 Facebook 客户端凭据获得的。

我们的应用程序希望能够为任何给定名称制作这些,以便我们可以查询公司的存在。

我们将对 Twitter、LinkedIn 和其他人有类似的要求,所以我只是想检查一下当前 API 中是否有任何方法可以做到这一点,或者它是否不符合我们的要求。

4

2 回答 2

2

您不需要获取应用程序访问令牌 - 您实际上可以使用由“|”分隔的应用程序 ID 和密码 作为访问令牌。- 您可以在文档中应用程序访问令牌部分的底部看到它:https ://developers.facebook.com/docs/facebook-login/access-tokens#apptokens

于 2015-08-18T13:52:55.030 回答
1

Spring Social 的 Facebook API 绑定(还)不支持 v2.0,但这是我现在正在做的事情......所以希望很快。一旦完成,肯定会有一些操作只适用于用户访问令牌,有些只适用于应用程序访问令牌,还有一些适用于任何一种(FWIW,Twitter 的 API 有类似的情况)。

密切关注 GitHub 中的项目或在 Twitter 上关注 @SpringSocial 以了解 v2.0 的内容何时可用。(如果我能在测试中获得任何帮助,我将不胜感激。)

尽管通过应用令牌请求的连接框架获取您的 FacebookTemplate 完全没有意义(连接本质上是一个面向用户的概念),但您始终可以在任何需要的地方构建 FacebookTemplate,并为其提供应用访问令牌通过 OAuth2Template 的 authenticateClient() 获得。您现在当然可以使用 v1.0 API 绑定来做到这一点,但我不确定应用令牌可以与哪些操作一起使用。

FWIW,当我在处理 v2.0 API 绑定时,我开始感觉到 FacebookTemplate 有机会携带两个令牌:一个用户令牌和一个应用程序令牌。这样,您甚至可以从从连接框架获得的 FacebookTemplate 执行以应用为中心的请求。然后,您唯一需要手动构建 FacebookTemplate 的情况是,是否有一些操作适用于任何一种令牌,但结果会根据使用的令牌类型而有所不同。

于 2014-06-18T14:19:24.370 回答