可能重复:
How to get user’s network information using Facebook Graph API? (PHP)
如何获得Facebook用户所属的大学或高中网络?在有关联元素之前,但它不在新的Graph API中。
答案 0 :(得分:1)
使用Graph API无法获取此信息。图API的user object包含work
和education
的密钥,但这些密钥与用户的网络隶属关系不同,后者无法通过图谱API访问。
您需要做的是使用FQL。您可以使用user table的affiliations
列来获取用户的网络从属关系。如果那是真的你想做什么,那么这就是你需要知道的全部。
但是,如果(似乎很可能)您对用户的网络关系并不严格感兴趣,而是对其教育历史更广泛的兴趣,请注意!如上所述,affiliations
与Facebook数据中的work
和education
不同。无法保证已进入特定高中或大学的用户进入他们的个人资料的“教育”部分也加入了该学校或大学的网络......但他们可能已经。更糟糕的是,如果有人在他们的教育部门增加了一所大学并加入了该大学的网络,那么该大学可能会出现在“网络”栏目和“教育”栏目中的不同名称之下。这意味着获得一份完整的清单,没有重复的学校或大学有人参加,这是非常重要的,并且需要一些聪明的黑客。
例如,当从用户表格中选择affiliations
和education
时,我的一位朋友会出现如下情况:
"affiliations": [
{
"nid": 16777585,
"name": "Oxford University",
"type": "college"
},
{
"nid": 33585181,
"name": "Queens College, Taunton",
"type": "high school"
}
],
"education": [
{
"school": {
"id": 110611448960664,
"name": "Queens College, Taunton"
},
"type": "High School"
},
{
"school": {
"id": 16686610106,
"name": "University of Oxford"
},
"type": "College"
}
]
请注意,她的教育部分包括“牛津大学”,但在她的隶属关系中,它是“牛津大学”。如果您希望能够干净地提取用户的教育历史记录,您需要做一些聪明的事情来确定这些是重复的。
要了解您所面临的混乱局面,请运行this query查看所有朋友的“教育”和“关联”字段。
祝你好运!