【问题标题】:FB graph API: Is it possible to get other facebook user education details?FB graph API:是否可以获得其他 facebook 用户教育详细信息?
【发布时间】:2026-01-18 14:20:03
【问题描述】:

我有两个 facebook 用户,A 和 B,他们都通过 facebook API 登录到我的 facebook 应用程序。

我想要做的是当以用户 A 身份通过 facebook API 登录时,检索用户 B 的教育历史——这是否被 facebook 安全模型允许?

两个用户都授予了user_education_history 对我的应用程序的权限,两个用户都公开了他们的教育资料信息,并且他们是朋友。

尽管如此,当我作为用户 A 进行此图形 api 调用时: <fb-id-of-user-B>?fields=education, 我没有收到任何教育详情(反之亦然)。

然后返回一些教育详细信息的唯一请求是me?fields=education,它成功返回用户自己的教育详细信息,但这不是我需要的。

我使用最新的 facebook API 版本 (2.8)。

【问题讨论】:

  • 您需要存储用户的访问令牌(已扩展,使其有效期最长为两个月),然后使用这些令牌。
  • CBroe,不确定我是否理解你——上面的每个请求还包括身份验证令牌(即首先我通过 fb 登录用户,检索令牌,然后将令牌附加到获取教育详细信息请求)。
  • 你想要的数据的用户的令牌。如果您想为用户 B 请求数据,则用户 A 的令牌对您没有任何好处。因此,即使用户 A 当前正在使用您的应用程序,您也需要为用户 B 使用(存储的)令牌。
  • CBroe,感谢您的澄清。我确认,当我作为用户 A 在 facebook 调试控制台中使用用户 B 的令牌并调用 me?fields=education 时,我收到了 B 的教育详细信息。顺便说一句,当我这样做时,会出现一个黄色警告三角形,上面写着“不是你”。

标签: facebook facebook-graph-api


【解决方案1】:

感谢@CBroe,将标记此社区维基。

差点跳过这个,然后看到原帖的cmets中提供了正确答案。

在请求用户 A 的朋友(用户 B)的数据时,您需要在请求中使用用户 B 的身份验证令牌。

这意味着您需要事先获得用户 B 的许可才能访问您请求的数据,并已将其存储。

【讨论】:

    最近更新 更多