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

OpenGraph API用户对象有时返回404的链接,api,facebook-graph-api,facebook-opengraph,Api,Facebook Graph Api,Facebook Opengraph,在我的应用程序中,我允许用户通过oauth连接他们的Facebook帐户,以便通过我们的界面发布。我们支持页面帐户和简单管理页面的常规帐户 我们还检查opengraph API调用的结果,以获取其配置文件或页面的有效URL。我们使用的主要端点是(使用oauth凭据)。对于某些仅页面的帐户,返回的对象具有一个“link”值,当输入web浏览器时,该值为404 我看到的坏URL分为两种不同的情况: URL可以是“www.facebook.com/{page_id}”的形式,在某些页面上有404,但在

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

我们还检查opengraph API调用的结果,以获取其配置文件或页面的有效URL。我们使用的主要端点是(使用oauth凭据)。对于某些仅页面的帐户,返回的对象具有一个“link”值,当输入web浏览器时,该值为404

我看到的坏URL分为两种不同的情况:

URL可以是“www.facebook.com/{page_id}”的形式,在某些页面上有404,但在其他页面上没有

URL的形式可以是“www.facebook.com/profile.php?id={user_id}”,通常是404s

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

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


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

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