2013-01-10 43 views
0

我想列出即將從Facebook頁面到網站的活動。 This article有我95%。返回Facebook活動地點數據(城市,州,街道,郵編等)

這裏是我的FQL查詢:

SELECT name,start_time,end_time,location,venue,venue.city,venue.street,eid FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid = 137235173013656 AND start_time >= '$now') ORDER BY start_time asc LIMIT 0, 5 

不幸的是,會場陣列此事件似乎只返回一個ID:

"data": [ 
    { 
    "name": "Party for the Rest of Us 8", 
    "start_time": "2013-02-01T19:00:00-0500", 
    "end_time": null, 
    "location": "The Renaissance Ballroom", 
    "venue": { 
     "id": 102464129826400 
    }, 
    "eid": 365130383585238 
    } 
] 

這似乎很奇怪,我,B/C,當我創建了自動完成的事件到一個有城市和州的known location

我無法手動輸入事件的位置信息。

任何幫助將不勝感激! 謝謝!

+0

我不認爲這是可能的一個查詢。通過查詢上面返回的場所ID來獲取位置數據非常簡單:http://graph.facebook.com/102464129826400 –

回答

0

Facebook開始改變API在2012年5月返回場館的方式。之後創建的一些場館只返回ID。您可以通過在page表上進行多重查詢並在腳本中重新組裝它們來獲得這些地址的完整地址。

該查詢應該讓你開始:

{ 
    "q_events": 
    "SELECT name,start_time,end_time,location,venue,eid FROM event WHERE eid = 365130383585238", 
    "q_venues": 
    "SELECT page_id, name, location FROM page WHERE page_id IN 
     (SELECT venue.id FROM #q_events)" 
} 
+0

我不確定如何編寫多查詢,所以我最終寫了不同的查詢。不優雅,但它的工作。 :) '$ param_event =陣列( \t '方法'=> 'fql.query', \t '查詢'=>「SELECT姓名,START_TIME,END_TIME,位置,地點,EID FROM事件WHERE EID IN(SELECT eid FROM event_member WHERE uid ='$ fbpageid'AND start_time> ='$ now')ORDER BY start_time asc LIMIT 0,1「, ); ... $ param_venue =陣列( \t '方法'=> 'fql.query', \t '查詢'=> 「SELECT位置FROM頁WHERE PAGE_ID = '$ venueid'」, );' – emkmail2

相關問題