当我的应用程序已经具有页面 Public 内容访问权限时如何生成正确的访问令牌

How to generate correct access token when my app already has Page Public Content Access

我们的团队正在开发一款分析 Facebook 的应用程序 reviews/recommendations。我们已将应用程序的初始版本提交给 FB,以供批准使用页面 Public 内容访问 (PPCA),并已获得批准。然而,当我们在批准后开始测试它并进入实时模式后,我们无法生成任何使我们能够访问我们正在寻找的 public 内容的令牌。
最近有一个类似的问题 posted,54943575/facebook-graph-api-review-rating-data-with-page-public-content-access。然而,针对该问题出现的答案表示,如果没有每个单独页面的 manage_pages 许可,您将无法访问此内容,而 FB 文档明确表示您可以使用页面 Public 内容访问权限: "Allows read-only access to public data on Pages for which you lack the manage_page login permission. Readable data includes business metadata, public comments, posts, and reviews." 确实需要 manage_pages 才能写作,例如删除或 post,任何页面的内容。该文档还说,在获得 PPCA 许可的情况下,允许的用途是 "Provide aggregated, anonymized public content for competitive analysis and benchmarking",显然您无法获得对您访问的所有页面的 manage_pages 许可。 这个问题归结为“PPCA 的 FB 文档是否正确,如果是这样,我们现在如何生成使用它所需的访问令牌?

更新:检索 "posts" 的以下图形调用(来自 Python 的 FB Graph API SDK)确实有效:

page_posts = graph.get_connections(id=getpage_id, connection_name='posts')

虽然下面的尝试检索 reviews/ratings,但没有:

page_reviews = graph.get_connections(id=getpage_id, connection_name='ratings')

后一个调用产生错误: (#210) 请求此资源需要页面访问令牌。", "type": "OAuthException",

Facebook 开发者文档说页面 Public 内容访问适用于评级以及 posts,但这似乎与此矛盾,除非我们在这里错误地调用了图表。

您只能获得您管理的页面的页面令牌 - 对于其他页面(和页面 Public 内容访问),您可以只使用应用访问令牌。更多信息:https://developers.facebook.com/docs/facebook-login/access-tokens/

对于 ratings/reviews,您必须使用页面令牌。 页面 Public 内容访问仅允许您访问页面提要和照片,例如.