将任何facebook URL转换为图形ID

时间:2012-02-09 23:00:31

标签: facebook facebook-graph-api

在给定任何facebook URL的情况下,是否有一种简单,可靠且可能面向未来的方法从API中提取图形ID? “任何facebook URL”我的意思是个人资料,页面,组等的URL。所有这些都有各种格式,所以我想图形API中必须有一些东西可以明确地将facebook URL转换为ID,对吧?

2 个答案:

答案 0 :(得分:1)

不,只是在API中没有办法做到这一点。您需要一组模式匹配来匹配各种类型的网址,以提取ID(相册,备注,照片,状态)或用户名。

例如

照片

帖子

  • facebook.com/pages/Joel-Spolsky/的 106083232757300
  • graph.facebook.com/106083232757300

  • facebook.com/video/video.php?v= 10150398154330484
  • graph.facebook.com/0150398154330484

活动

  • facebook.com/events/的 138745136241434 /
  • 等...

然后它变得更加复杂,即使你能够获得处理所有这些链接的银弹功能,你的应用程序需要授予访问许多权限才能访问某些对象。

你可能能够逃脱大多数在最后都有id的链接,但不是全部。因此,可能使用正则表达式捕获以数字字符结尾的链接。

答案 1 :(得分:0)

有!您正在寻找object_url表,您可以使用FQL或直接使用请求进行查询。见这里:http://developers.facebook.com/docs/reference/fql/object_url/

编辑:

您也可以这样做,但显然不太理想:

function getObjectByUrl(url, cb) {
     FB.api("/" + url.replace(/^.*?www.facebook.com/, ""), cb);
}