【问题标题】:Facebook Graph API - Using, 'app access token' to fetch facebook page feeds (Solution)Facebook Graph API - 使用“应用访问令牌”来获取 Facebook 页面提要(解决方案)
【发布时间】:2012-02-25 18:06:24
【问题描述】:

嗯,这听起来很奇怪。当 facebook 应用程序配置为原生/桌面应用程序(应用程序->您的应用程序->高级->应用程序类型)时,“应用程序访问令牌”从此过程中获取

https://graph.facebook.com/oauth/access_token?" + "client_id=" + APP_ID + "&client_secret=" + APP_SEC + "&grant_type=client_credentials"

无法从 Facebook 页面获取供稿或发帖。根据 facebook 文档 获取提要只需要任何有效的 access_token 或用户 access_token,奇怪的是,如果应用程序配置为 Native/Desktop,它就不能以这种方式工作。

1 解决方案,经过一天的研究,得出令人沮丧的结论,它必须在(应用程序->您的应用程序->高级->应用程序类型)中配置为基于“网络”的应用程序。

设置完成后,上述获取提要的过程就可以工作了。这引发了一个问题,这是一个错误吗?还是我误解了文档。

我希望我为你节省了一天的时间,如果你这些天一直在处理 Facebook 页面提要并且出于显而易见的原因而感到沮丧,那么你就会脱掉头发。

[1] Facebook forum post

【问题讨论】:

  • 您需要的是 facebook 页面的 access_token - 阅读此内容以了解如何获取 stackoverflow.com/questions/9395356/… - 然后只需使用图形 api,就好像您正在为普通用户获取提要一样(使用 facebook页面 ID 和给定的访问令牌)
  • 赞美你,appType 很重要。我试图获取各种公共提要的原始 JSON 数据,但自 2012 年以来,它需要在 60 天后过期的用户令牌,这样只需使用 appID+appSecret->appToken 我就可以再次简单地访问公共 Facebook 数据:-)跨度>

标签: facebook api facebook-graph-api solution


【解决方案1】:

这里是关于使用应用访问令牌

的相关文档

仅当发布功能直接来自您的服务器时才应使用应用访问令牌,以使它们对应用保持私有。例如,您不应在客户端(例如本机移动应用程序)中使用应用程序访问令牌进行发布。这样做可以让个人获得应用访问令牌,然后可以让他们代表您的应用采取行动。相反,您应该让您的本地移动应用程序队列操作与您的服务器同步,然后让您的服务器使用应用程序访问令牌将故事发布到 Facebook。因此,如果您在设置 > 高级中的“应用程序类型”设置为“本机/桌面”,我们假设您的客户端应用程序在其二进制文件中包含应用程序密钥或应用程序访问令牌,并且不允许使用应用访问令牌继续。 API 的行为就像没有提供访问令牌一样。

Source

还有关于获取应用访问令牌

因为它要求您包含您的应用程序密码,所以您不应尝试在客户端进行此调用,因为这会将这个密码暴露给您的所有应用程序用户。重要的是,您的 App Secret 永远不会与任何人共享。出于这个原因,这个调用应该在服务器端执行 [...]

Source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多