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)"}

スクリプトで 2 つの結果オブジェクトを結合する必要があり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 に答える