首页 文章

Facebook Graph API - 使用,'app access token'获取Facebook页面提要(解决方案)

提问于
浏览
7

嗯,这可能听起来很奇怪 . 当Facebook应用程序配置为本机/桌面应用程序(应用程序 - >您的APP->高级 - >应用程序类型)时,“应用程序访问令牌”从此过程获取

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

无法使用,从Facebook页面获取Feed或发布 . 根据facebook文档提取提要仅需要 any valid access_token or user access_token ,如果应用程序配置为Native / Desktop,则奇怪的是它不能以这种方式工作 .

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

设置完成后,上面提取Feed的过程就可以了 . 这样就提出了一个问题,这是一个错误吗?或者我误解了文档 .

我希望我为你节省了一天,如果你这几天一直在为facebook页面提供服务并且因为明显的原因而沮丧地脱掉你的头发 .

[1] Facebook forum post

1 回答

  • 1

    以下是有关使用应用程序访问令牌的相关文档

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

    Source

    Also about Obtaining an App Access Token:

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

    Source

相关问题