0

我试图使用 FQL 从 facebook 获取我的直系亲属数据。我运行这个语句:

SELECT first_name, middle_name, last_name, birthday_date 
from user 
where uid IN (SELECT uid 
              FROM family 
              WHERE profile_id = me() 
              and (relationship = 'brother' 
                   or relationship = 'sister' 
                   or relationship = 'father' 
                   or relationship = 'mother' 
                   or relationship = 'son' 
                   or relationship = 'daughter' 
                   or relationship = 'wife' 
                   or relationship = 'husband'))

但我也想在数据中有关系。它只给我first_name、middle_name、last_name、birthday_date

4

2 回答 2

1

你必须做一个来获取这些数据,你需要做一个 FQL 多查询:

{"my_family": "SELECT uid, relationship FROM family WHERE profile_id = me() AND
       (relationship = 'brother' OR ...)".
"family_details": "SELECT first_name, middle_name, last_name, birthday_date FROM
       user WHERE uid IN (SELECT uid FROM #my_family)"}

您需要uid在脚本中将两个结果对象连接在一起。

于 2012-10-19T00:07:48.610 回答
0

您需要使用 FQL 吗?现在有一个嵌套字段 Graph API 语法,可以让您一次性获得所需的内容:

https://graph.facebook.com/me?fields=id,name,family.fields(first_name,middle_name,last_name,birthday)

然后,结果是一个嵌套的 JSON 对象,其中包含您需要的关系字段 - 例如:

{
  "id": "738229837", 
  "name": "James Pearce", 
  "family": {
    "data": [
      {
        "first_name": "Bob", 
        "last_name": "Pearce", 
        "birthday": "09/21/1965", 
        "id": "12345", 
        "relationship": "cousin"
      }, 
      {
        "first_name": "Clara", 
        "last_name": "Pearce", 
        "birthday": "12/08", 
        "id": "67890", 
        "relationship": "mother"
      }
      ...
    ], 
    "paging": {
      "next": "https://graph.facebook.com/..."
    }
  }
}

希望有帮助。玩得开心。

于 2012-10-22T20:10:06.680 回答