2

我想根据其 URL 获取 Facebook 对象的 id 和类型。

我的目标是确定某个 URL 是否是 Facebook 事件(例如https://www.facebook.com/events/258629027581347)。

因此,如果我有该对象的对象 ID,我可以执行以下 FQL 查询并知道如果我得到结果,则该对象是一个事件:

select eid from event where eid = 258629027581347

问题是仅根据 URL 获取对象 ID。我不想从 URL 中解析 id,因为不能保证 URL 的格式将来会保持不变。我想通过 Facebook 的 API 找到一种方法。

搜索了一段时间后,我发现了以下有关如何执行此操作的建议,但不幸的是,它们都不起作用:

  1. 来自表的 FQL 查询object_url- 查询不产生任何结果:

    SELECT url, id, type, site FROM object_url WHERE url = "https://www.facebook.com/events/258629027581347"

  2. 使用图形 API:

    https://graph.facebook.com/https://www.facebook.com/events/258629027581347

    这将返回一个仅包含 URL 的 JSON 对象 - 没有 id。

  3. 像这样使用图形 api ?ids=

    https://graph.facebook.com/?ids=https://www.facebook.com/events/258629027581347

    这将返回以下 JSON,也没有 id:

    { "https://www.facebook.com/events/258629027581347": { "id": "https://www.facebook.com/events/258629027581347", "metadata": { "connections": { "comments": "https://graph.facebook.com/https://www.facebook.com/events/258629027581347/comments?access_token=AAACEdEose0cBADzSuuyJWohIwkXuvQGJUsIlSJz04J4nzKqqQXTvGiPXf4YDBPuh0rdyXgSWnWcJpN3X3GaATVLjG6UmZBiHKmcxCWwZDZD" }, "type": "link_stat" } } }

我在这里想念什么?

谢谢!

4

1 回答 1

0

据我所知,目前还没有 API 方法可以获取 Facebook URL 并告诉您它是什么。解决这个问题的唯一方法是解析 URL 并查找最后一个元素并将其传递给https://graph.facebook.com/258629027581347?metadata=1&access_token=XXXX

您尝试构建一个面向未来的 Facebook 应用程序是一个崇高的目标,但我认为目前还不可能。Facebook 平台仍在不断发展。与 url 结构相比,api 方法将保持不变的保证更少。

于 2012-07-28T17:04:31.460 回答