随着Facebook弃用其REST API,附属关系会发生什么变化?

时间:2012-10-31 17:31:18

标签: facebook-graph-api

  

可能重复:
  How to get user’s network information using Facebook Graph API? (PHP)

如何获得Facebook用户所属的大学或高中网络?在有关联元素之前,但它不在新的Graph API中。

1 个答案:

答案 0 :(得分:1)

使用Graph API无法获取此信息。图API的user object包含workeducation的密钥,但这些密钥与用户的网络隶属关系不同,后者无法通过图谱API访问。

您需要做的是使用FQL。您可以使用user tableaffiliations列来获取用户的网络从属关系。如果那是真的你想做什么,那么这就是你需要知道的全部。

但是,如果(似乎很可能)您对用户的网络关系并不严格感兴趣,而是对其教育历史更广泛的兴趣,请注意!如上所述,affiliations与Facebook数据中的workeducation不同。无法保证已进入特定高中或大学的用户进入他们的个人资料的“教育”部分也加入了该学校或大学的网络......但他们可能已经。更糟糕的是,如果有人在他们的教育部门增加了一所大学并加入了该大学的网络,那么该大学可能会出现在“网络”栏目和“教育”栏目中的不同名称之下。这意味着获得一份完整的清单,没有重复的学校或大学有人参加,这是非常重要的,并且需要一些聪明的黑客。

例如,当从用户表格中选择affiliationseducation时,我的一位朋友会出现如下情况:

"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查看所有朋友的“教育”和“关联”字段。

祝你好运!