Facebook 图表 API:从 post URL 中查找图表对象

Facebook Graph API: Find graph object from post URL

给定 public Facebook post 的 URL,如何在 FB Graph API 中找到 post 对象? (其次,为什么通过 API 访问时有那么多用户提要是空的或几乎是空的?)

我们希望能够通过 v2.x comment on or like post 图 API,给定 post 的 URL。这样做需要 post 的对象 ID,我们可以对其进行一些有根据的猜测,但是访问 通过 API 的实际对象已被证明是不可靠的(适用于某些 post 但 不是其他人)。

v2的API引入了app-scoped user IDs,而post的ID一般看起来 采用 {app-scoped user id}_{unique post id} 的形式。这里有 使用各种组合在 API 中查找 post 的一些尝试的详细信息 这些 ID(全局用户 ID、应用范围的用户 ID 和 post ID)。

好的,让我们试试另一个方向。我们将翻阅用户的提要,直到找到有问题的 post。感觉这更像是 expected 用例 API...

作为参考,这里是 the GitHub issue 我们一直在跟踪这个问题的地方。

一个建议是调用 api 来写 Facebook 帖子,因为那些 return 有效 post_id 您可以使用

其次, 当你尝试 https://developers.facebook.com/tools/explorer/256884317673197/?method=GET&path=525575504%2Fposts&version=v2.0&

您可以看到他的帖子 ID 不是以您写的 public id 开头的 525575504_*

但他们仍然提出不受支持的获取请求

https://developers.facebook.com/tools/explorer/256884317673197/?method=GET&path=10152853212485505_351575675029953&version=v2.0

第三个,因为上面的那些帖子肯定没有用public?

基本上你需要 read_stream 为此(你的应用程序不会被授予)。是的,即使 post 是 public,您仍然需要 read_stream 才能获得对各种 post 的读取权限。

您可以在 Graph API Explorer 中轻松使用它。首先授予您的应用程序 read_stream 权限以获取您的提要中项目的 ID——这将为您提供“表单应用程序范围的用户 ID 下划线 post ID”的 ID。然后删除 read_stream(通过再次单击“获取访问令牌”并使用“清除”按钮),并尝试几个 user_* 权限 – 你会看到大部分 posts,即使是 public 的,你仍然只会得到“Unsupported get request”,这只是意味着你不能读取那个对象。

F.e.,我有一个 public post 从我的时间轴上的另一个页面分享了一个视频 post,typevideostatus_typeshared_story,但 user_statususer_videos 都不允许我阅读此 post – 只有当我再次授予 read_stream 时,我的应用可以读取 post。与 status 和 status_type mobile_status_update 类型的另一个 public post 相同——可读 read_stream,而不是任何 user_*权限。

简而言之:使用 API v2 和限制 read_stream 将仅授予不存在官方 FB 客户端的平台上的应用程序,您想要实现的目标已不再可能。