これは、この質問の拡張です: fql を使用して Facebook イベントを取得する
イベントの場所/会場が設定されていないときに問題が発生しています。
私が使用しているクエリは次のとおりです。
{\"events\":
\"SELECT eid, name,description, start_time, end_time, pic_small,pic_big, eid,venue,location
from event WHERE eid in (SELECT eid FROM event_member WHERE uid = me()
and start_time > %s)\" ,
\"locations\":
\"select page_id,location from page where page_id IN
(select venue.id from #events)\" ,
\"rsvpStatus\":
\"select eid, rsvp_status from event_member where eid IN
(select eid from #events) AND uid = me()\" }
私の観察: このイベントに場所が設定されている場合、会場の属性は id プロパティを持つ json オブジェクトです。以下のjsonを参照してください
{
"eid": 34343434322,
"name": "Another yo you",
"description": "",
"start_time": 1347699600,
"end_time": 1347786000,
"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",
"venue": {
"id": 34243242
},
"location": "Airbiquity"
}
場所が設定されていない場合は、空の配列です。以下のjsonを参照してください。
{
"eid": 441320552577649,
"name": "Meeting",
"description": "",
"start_time": 1347491700,
"end_time": 1347502500,
"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",
"venue": [
],
"location": null
}
会場属性の型が変わるのがおかしい。私は GSON でこの応答を Java オブジェクトに変換していますが、予想外の会場の構造が原因でスローされています。誰かがこの問題で私を助けることができますか?