Facebook graph api 如何使用Graph API查找当前用户的页面ID?

Facebook graph api 如何使用Graph API查找当前用户的页面ID?,facebook-graph-api,Facebook Graph Api,我有一个网页表单,我要求用户向我传递一个关于他们自己的facebook页面的链接,这个页面不一定是他们自己的页面,但可以是一个单独的商业或类似的页面 到目前为止,我已经实现了Facebook登录,在登录之后,我使用获得的访问令牌查询/v2.2/me,以了解用户id。虽然可能会获得指向用户个人页面的链接,但该链接可能是错误的 谷歌很好地解决了这个问题,它允许用户在登录后但在返回授权码之前选择使用哪个帐户。由于Facebook似乎没有这样做(或者我能以某种方式触发这种行为吗?),我想检索当前用户管理

我有一个网页表单,我要求用户向我传递一个关于他们自己的facebook页面的链接,这个页面不一定是他们自己的页面,但可以是一个单独的商业或类似的页面

到目前为止,我已经实现了Facebook登录,在登录之后,我使用获得的访问令牌查询
/v2.2/me
,以了解用户id。虽然可能会获得指向用户个人页面的链接,但该链接可能是错误的

谷歌很好地解决了这个问题,它允许用户在登录后但在返回授权码之前选择使用哪个帐户。由于Facebook似乎没有这样做(或者我能以某种方式触发这种行为吗?),我想检索当前用户管理的所有页面的列表,然后自己显示一个选择页面。但是如何获得当前用户管理的所有页面的列表?

我认为/me/accounts可能是正确的选择。我在我的facebook页面上创建了一个空的测试页面(用于“艺术家”),但是/me/accounts总是返回一个空数组

看起来有很多应用程序需要一个页面id(比如wordpress插件),人们必须手动提供一个页面id,因此有大量的文章、博客,甚至是解释如何从URL获取页面id的问题,通过挖掘Facebook甚至Firebug中的一些设置,这让谷歌对这个问题感到非常复杂


理论上,我可以告诉人们只需输入他们的页面id,然后添加一篇前面提到的博客文章,但我认为这不仅是不合法的,而且会让我收到大量未找到他们页面id的人的支持请求,还会导致人们输入无效的页面id或他们不属于的页面id,因此,我非常感谢使用API的解决方案。

通过API查找属于当前用户的页面ID的唯一方法是
/me/accounts
。如果您能够在没有
manage\u pages
权限的情况下检索用户页面帐户,则会侵犯隐私

确保您在

需要具有manage_pages的用户访问令牌,并且仅允许检索该特定人员

由您向用户解释为什么要使用
manage\u页面
权限

如果你对此感到不舒服,那么你就不走运了

唯一的另一种方法是让用户转到Facebook页面的URL并提交给您,这样您就需要额外的开销进行验证

页面具有以下格式

  • facebook.com/username
  • facebook.com/id
  • facebook.com/pages/pagename/id
覆盖所有这些基础后,提取用户名或id并执行图形API调用


确实是
graph.facebook.com/username
graph.facebook.com/id

。(无论出于何种原因,它们都会返回一个空列表,而不是一条有用的错误消息)。然而,该许可需要facebook审查(这可能会引起很大的头痛,因为我的应用程序是一个内部应用程序,我不能轻易让facebook访问以进行审查)而且,当我只想要他们的页面的一次性只读列表时,如果我请求用户允许管理他们的页面,这对用户来说也是可疑的。@yankee没有。如果你是唯一一个使用权限的人,你不需要将其提交审查。你说的“唯一”是什么意思?我当然不想成为唯一一个能够告诉自己我自己的页面ID的人。事实上,我的网页的全部目的就是让其他人告诉我他们的页面……如果你想让其他人使用管理页面,你需要通过审查,如果你不使用,那么只有你自己没有。这就是为/me/accounts清空数据的解释,因为
管理页面
是一个强大的东西(它允许你对一个页面进行大量设置并“充当”页面),我怀疑人们是否愿意将其授予你的应用程序,只是为了让它“了解”他们的页面。让他们将URL输入到他们的页面将是正确的做法。