为同一URL创建多个Facebook ID

时间:2012-06-18 19:27:07

标签: facebook facebook-graph-api

我的问题是为同一个网址创建了多个FB ID。例如:

如果我去graph.facebook.com?ids=http://www.imdb.com/title/tt0981324/我会得到这个ID:

289135387789014

但是,如果我单击该IMDb页面上的Like按钮(或者即使我在fb:like链接中使用该URL在外部页面上创建一个新的Like按钮),那么实际显示在我的列表中的ID喜欢是:

318006948223183

在图表的末尾使用这些ID:graph.facebook.com/318006948223183或graph.facebook.com/289135387789014会显示不同的数据,但两者都具有完全相同的URL。

当有人点击该网址的“FB赞”按钮时,只有SECOND ID才会获得。但是,当您通过执行graph.facebook.com/?ids=http://www.imdb.com/title/tt0981324/

查找该URL的信息时,只会显示FIRST。

所以我的问题是 - 如何确保为具有多个关联FB ID的URL获取正确的ID。我需要能够查找URL以查找ID,然后确保当有人点击“赞”按钮时,我会在“喜欢”列表中显示实际ID。

2 个答案:

答案 0 :(得分:1)

IMDB电影的Like按钮的href参数中有一个#符号。由于页面URL与Like按钮href URL之间存在差异,因此会创建两个不同的Open Graph对象。与Like事件关联的图形ID对应于Like按钮的href参数中的URL。请注意,“og:url”或“Canonical URL”只是将在Facebook新闻报道中显示的链接,并且可以与多个不同的图形项目相关联。

以下是没有#符号的网址的图表API数据(显示1个赞): http://developers.facebook.com/tools/explorer?method=GET&path=%3Fids%3Dhttp%3A%2F%2Fwww.imdb.com%2Ftitle%2Ftt0981324%2F

以下是带有#符号的URL的图表API数据(显示575股): http://developers.facebook.com/tools/explorer?method=GET&path=%3Fids%3Dhttp%3A%2F%2Fwww.imdb.com%2Ftitle%2Ftt0981324%2F%23

通常,您可以使用Graph API资源管理器或通过执行FQL查询从URL检索图形ID: SELECT url,id,type,site FROM object_url WHERE url =“http://www.imdb.com/title/tt0981324/#”

但是,对于带有#符号的URL,这些工具将仅返回有限的图形信息,因为没有Open Graph元标记与该特定URL相关联,因此图形对象未完全初始化。因此,您在Likes列表中查找对象的现有解决方案可能是查找与Like事件关联的特定图形ID的最佳选择。

但即使ID#318006948223183与Like事件绑定,ID#289135387789014也是与Canonical URL绑定的ID(没有#符号),并包含该页面的所有最重要的元内容。

答案 1 :(得分:0)

这可能是相关的:https://developers.facebook.com/bugs/258471964213573?browse=search_4eeb62f1008762435910806

可能的情况是,您获得的第一个ID是网站本身的图形节点,而第二个ID是相关电影项目的图形节点。你会注意到你提供的两个URL中的数据相同;一个是'未知'类型,另一个是'电影'类型。