1

以下のクエリを使用して、fql から Facebook イベントを取得しようとしています。「id」以外の会場詳細が取得できません。

fql?q=SELECT name,description, pic_small,pic_big, eid,venue,location from event WHERE eid in (SELECT eid FROM event_member WHERE uid = me())

出力:

{
  "data": [
    {
      "name": "HappyHour",
      "description": "Let's have fun !!!",
      "pic_small": "http://profile.ak.fbcdn.net/static-ak/rsrc.php/v2/yy/r/XcB-JGXohjk.png",
      "pic_big": "http://profile.ak.fbcdn.net/static-ak/rsrc.php/v2/yn/r/5uwzdFmIMKQ.png",
      "eid": ......,
      "venue": {
        "id": .......
      },
      "location": "The Crab Pot Seattle"
    }
  ]
}

グラフ API ドキュメントには、「クエリ対象のイベントが開催されている会場。次のフィールドが 1 つ以上含まれています: 通り、都市、州、郵便番号、国、緯度、および経度」と記載されています。しかし、会場ID以外には何も表示されません。

会場の場所の詳細を取得するには、Graph API に別のリクエストを行う必要がありますか? 1 つのクエリ自体で場所の詳細を取得するより良い方法はありますか?

4

1 に答える 1

6

この FQL Multiqueryを使用して、イベントの場所を取得できます。

これにより、イベントとその会場に関する情報が取得されます。それらを組み合わせて使用​​可能なものにするために、最後にスクリプトを作成する必要があります。

fql?q={
 "event_info":
    "SELECT name,description, pic_small,pic_big, eid,venue,location 
      FROM event WHERE eid IN 
         (SELECT eid FROM event_member WHERE uid = me())", 
  "event_venue":
     "SELECT name, username, page_id, location 
        FROM page WHERE page_id IN 
          (SELECT venue.id FROM #event_info)"
 }

Facebook は 4 月にイベントのデフォルトのエンコーディングを変更しました。以前は、すべての位置データが常に返されていました。それ以来、場所の のみidが返されました。

于 2012-06-05T18:27:10.140 に答える