以编程方式检测Facebook页面是否与其他页面合并

时间:2014-09-08 23:25:35

标签: facebook facebook-graph-api

Facebook已经开始"合并"重复的页面。例如,如果您访问电影Good Fellas的这个页面:https://www.facebook.com/105652212803097,您会注意到它会重定向到现在的主页面:https://www.facebook.com/goodfellasthemovie,同时显示以下消息:"Goodfellas was merged with this page"

这很棒,但用户'喜欢也是从" old"页面到"新"页面没有被删除" old"页。因此,如果您查询喜欢合并页面的用户喜欢,您将获得2个单独的ID,这些内容现在是同一页面 - 没有指示页面之间的关系,或者其中一个是喜欢的自动生成。

有没有办法以编程方式检测页面是否已与其他页面合并?或者两页相互关联?或者页面不再起作用并重定向?

1 个答案:

答案 0 :(得分:3)

自发布问题以来,我找到了答案。

有一个名为“best_page”的字段,它提供了您要查询的页面的最佳备用ID。使用电影Good Fellas的原始示例,如果您使用“best_page”字段查询任何“坏”页面,例如页面ID 102154619826846,如果页面不是最佳页面,您将获得“best_page”指向主页面ID为193801173989136的属性:

{
  "id": "102154619826846", 
  "name": "Good Fellas", 
  "best_page": {
    "category": "Movie", 
    "name": "Goodfellas", 
    "id": "193801173989136"
  }
}    

https://developers.facebook.com/tools/explorer?method=GET&path=102154619826846%2F%3Ffields%3Did%2Cname%2Cbest_page&version=v2.1

如果您要查询的页面已经是最佳页面,则您不会在响应中收到任何“best_page”属性:

{
  "id": "193801173989136", 
  "name": "Good Fellas"
}  

https://developers.facebook.com/tools/explorer?method=GET&path=193801173989136%2F%3Ffields%3Did%2Cname%2Cbest_page&version=v2.1

要扩展解决方案,如果您要查询所有用户的喜欢,并希望了解每个页面的最佳页面而无需单独重新查询每个页面,则可以将其与likes端点一起使用:

/v2.1/me/likes?fields=id,name,best_page{id} 

https://developers.facebook.com/tools/explorer?method=GET&path=me%2Flikes%3Ffields%3Did%2Cname%2Cbest_page%7Bid%7D&version=v2.1

这将返回您的所有喜欢的“best_page”属性,每个喜欢有更好的页面。与上面类似,只有不是最佳页面的页面才会返回“best_page”属性。