OpenGraph API用户对象有时会返回404s的链接

时间:2013-01-04 23:14:47

标签: api facebook-graph-api opengraph

在我的应用程序中,我允许用户通过oauth连接他们的Facebook帐户,以便通过我们的界面发布。我们支持简单管理网页的网页帐户和常规帐户。

我们还检查opengraph API调用的结果,以获取其配置文件或页面的有效URL。我们使用的主要端点是https://graph.facebook.com/me(带有oauth凭据)。对于某些仅限页面的帐户,返回的对象具有“链接”值,当输入到Web浏览器中时,该值为404s。

我看到的错误网址分为两种不同的情况:

网址可以是“www.facebook.com/{page_id}”形式,某些网页上有404,但其他网页上没有。

网址的格式可以是“www.facebook.com/profile.php?id={user_id}”,这通常不是404。

我见过的唯一适用于所有帐户的网址格式是www.facebook.com/profile.php?id={page_id}。在第一种情况下,我们检测到'link'字段不是正确的形式(使用profile.php?id = ...),并构造一个具有适当结构的URL,并且它可以工作。

我正在考虑添加的下一个启发式是查看URL是否是正确的形式....但使用{user_id}作为profile.php的id参数,并使用{page_id构建URL }。显然,这太荒谬了。

那么,有没有一种好方法可以知道某个帐户是否会返回无效的链接?这是API中的错误吗?考虑到开放图形API上的用户,获取其个人资料/页面的工作链接,最可靠的方法是什么?

1 个答案:

答案 0 :(得分:1)

使用“www.facebook.com/{page_id}”或“www.facebook.com/profile.php?id={user_id}”将始终有效 - 它们都是相同的。您看到404的唯一原因是,如果页面已取消发布/已删除,或者用户已停用其帐户。