我正在编写一个应用程序,要求我确定是否显示fb“like”按钮。 fb个人资料没有“喜欢”但页面没有。关于如何以编程方式区分fb配置文件和fb页面的任何建议?我从用户那里得到的唯一输入是fb个人资料/页面网址,根据我需要确定它是一个页面还是个人资料,然后显示相似的按钮。
THX,
答案 0 :(得分:2)
是的,您可以查看返回的JSON的type属性。例如,看一下我为用户和页面收到的实际的,编辑的图谱API响应:
//This is JSON for a user
//Call to https://graph.facebook.com/123456789
{
"id": "123456789",
"name": "Sean Hill",
"first_name": "Sean",
"last_name": "Hill",
//more attributes
"type": "user" // <--- This one
}
VS
//This is JSON for a page
//Call to https://graph.facebook.com/thesolusean
{
"id": "323796444951",
"name": "Solusean",
"picture": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/50290_323796444951_3601170_s.jpg",
"link": "https://www.facebook.com/thesolusean",
"likes": 28,
// more attributes
"type": "page" // <---- This one
}
在不知道您正在使用哪种编程语言的情况下,这是我能给出的最佳答案。
答案 1 :(得分:0)
到目前为止,通过查看category属性,似乎是了解给定配置文件是页面还是实际用户的唯一快速方法。如果此属性存在,那么它是一个页面,否则它可能是用户。 FB参考文档似乎没有任何明确的指导(见https://developers.facebook.com/docs/graph-api/reference/profile)。另外,作为其他响应的一部分返回配置文件的大多数API仅包括id,name和category的部分信息:
"from": {
"category": "Magazine",
"name": "Astronomy Magazine",
"id": "108218329601"
},
注意:我对@Sean Hill的答案感到困惑。配置文件对象中没有类型属性。