2014-03-24 69 views
0

我正在嘗試獲取給定位置的所有公共事件。這裏是我現在正在使用的Facebook Graph API獲取經度和緯度的所有事件

SELECT+name,+pic_cover,start_time,+end_time,+location,+description,venue++FROM+event+WHERE+eid++in(SELECT+eid+FROM+event_member+WHERE+uid+IN+(SELECT+page_id+FROM+place+WHERE+distance(latitude,+longitude,+"40.1811",+"44.5136")+<+50000+limit+0,15000))+ORDER+BY+start_time+desc+limit+0,1500 

但是,有很大數量的事件與該位置沒有返回該FQL查詢。 是否有機會獲得給定地點的所有活動,或者可能是由城市?
我正在使用Python,但如果您有任何語言的示例代碼,請將其寫出。

回答

3

我想如果你忽略了event_member表的子查詢,你最終會得到更多的結果。請考慮結果將只包含由頁面本身創建的事件,而不是由個人用戶創建的事件。

SELECT name, pic_cover,start_time, end_time, location, description,venue FROM event WHERE creator IN (SELECT page_id FROM place WHERE distance(latitude, longitude, "40.1811", "44.5136") < 50000 limit 0,15000) and start_time > now() ORDER BY start_time desc limit 0,1500 

如果你有興趣場館的列表,你可以用我在這裏介紹的方法:Facebook FQL find all events that take place at a certain venue

編輯2017年12月20日:

因爲它現在是不可能的如果應用程序在2014年4月30日之後創建,則使用FQL,直接搜索將不再可能。爲此,必須採用三步法,例如在https://github.com/tobilg/facebook-events-by-location-core中實施。

+0

感謝您的回答,這對我有效:) –

+0

很高興聽到它爲你工作! – Tobi

+0

Facebook正在將Graph API更新爲2.1,並且FQL將不可用。任何人都可以建議如何使用Graph API請求「附近的事件」? –