使用Graph API资源管理器和在本地环境上测试之间的权限差异



我在我的Angular网络应用程序上使用Facebook的JavaScript SDK。我已经在Facebook Dashboard上注册了该网络应用程序(我被列为开发人员)。目标是在Facebook页面上发帖,并说"嘿,我通过我的网络应用程序在这个页面上发帖"。我是这个页面的管理员。

现在,由于我是网络应用程序的开发人员和页面管理员,我在文档中看到,我不需要提交网络应用程序进行审查即可获得manage_pages和publish_pages等权限。因此,我按照So上的说明使用Graph API资源管理器来测试:发布到没有";manage_pages";使用php的权限

使用Graph API资源管理器,我可以选择"manage_pages"one_answers"publish_pages)"等扩展权限,获取正确的访问令牌,然后找到正确的page_access_token并通过资源管理器发布到该页面。但由于#200身份验证错误,我似乎无法在本地环境中(直接通过网络应用程序)执行此操作。

我很困惑,因为让Graph API资源管理器做我想做的事情更容易(在这种情况下,通过我的网络应用程序在页面上发布)。当我不使用Graph API资源管理器时,我是否绝对需要提交给Facebook进行审查才能获得"manage_pages"one_answers"publish_pages"等权限?

(如需更多信息,我使用JavaScript SDK实现的Facebook登录登录我的网络应用程序。当我调用"me/permissions"时,我会得到public_profile和电子邮件作为响应)

事实证明,如果你是该应用程序的开发人员(在Facebook Dashboard下),那么你确实可以继续使用manage_pages和publish_pages,而无需提交应用程序进行审查。当你尝试使用Facebook登录时,你会看到权限对话框(使用Facebook登录)和一些关于你如何使用扩展权限的警告。单击"是"后,您将看到一个附加对话框,询问您"XYZ希望为您发布到页面"。。。因此有两个对话框,而不仅仅是最初默认的对话框。

然而,这可能会非常令人困惑,因为假设你没有在FB面板下注册为该应用程序的开发人员/管理员。如果你过去已经为你的应用程序授予了基本权限,那么你永远不会看到扩展权限对话框弹出(而是看到一些东西很快弹出并消失),这将非常令人困惑,也不会让你使用这些扩展权限。

最新更新