1

我想知道如何检索 Open Graph Debugger 在您输入 URL 时显示的信息。

这是一个示例:我有一个包含所有正确 og 元标记的页面,顶部如下所示:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/" />
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta property="og:url" content="http://www.freefunder.com/campaign/Short-Film-Revenge-Inc/" />
<meta property="og:type" content="Website" />
<meta property="og:title" content="Short Film: &quot;Revenge, Inc.&quot;" />
<meta property="og:description" content="&quot;Revenge, Inc.&quot; is the first short film for the Karmalicity Movie Project. A feel-good story with a positive message." />
<meta property="og:image" content="http://www.freefunder.com/images/campaigns/2094_main.jpg" />
<meta property="fb:app_id" content="346433602097524" />

当我在 Open Graph Debugger 中查找它时,它给了我代码 206 并且没有错误,并且在底部它会给我一个 URL 来使用 Graph API 来查找它,即:https://graph.facebook。 com/103335396527655

我遇到的问题是我需要能够在我的代码中确定 Facebook ID (103335396527655),并且不需要每次都去调试器。如果我去:

http://graph.facebook.com/?ids=http://www.freefunder.com/campaign/Short-Film-Revenge-Inc/

它不会返回与我访问调试器提供的 Graph API URL 相同的信息(并且不包括 ID)。

给定一个特定的 URL,有什么方法可以为它查找正确的 Facebook ID?这可能与 Graph API、FQL、PHP SDK 等等有关!我只需要能够输入一个 URL 并获取它的 Facebook ID..

谢谢!

4

1 回答 1

1

首先,仅仅因为页面有一个 Like 按钮和 OG 标签并不意味着该页面曾经被 FB Crawler 抓取过。如果该页面从未被“喜欢”、“共享”或参与过 Open Graph 操作,则 Facebook 不知道它的存在,因此在 graph.facebook.com 上没有关于它的信息

其次,不能保证相同的 URL 将始终被赋予相同的 Graph ID。我过去曾尝试过一种 URL -> ID 映射(以检查某个用户是否喜欢某个页面),并且相同的确切 URL 可以与任意数量的不同 ID 相关联。唯一可靠的结果是 Facebook 页面和用户个人资料。

因此,您需要使用phpQuery之类的东西,然后去寻找您想要确保存在于用户页面上的任何标签。

于 2013-05-31T07:37:27.233 回答