2

我想執行一個FQL查詢來檢索特定區域中的所有公共事件(使用經度,緯度和最大距離或簡單位置名稱)。你知道這有可能嗎?用於查找公共事件的FQL查詢

很顯然,有人是能夠做到這一點,不知何故:http://elmcity.info/fb_events?location=tokyo

+0

的可能重複[獲取基於位置的事件列表(HTTP:/ /facebook.stackoverflow.com/questions/9339936/get-event-list-based-on-location) – DMCS

+0

你會在這個問題中找到你的答案。 http://facebook.stackoverflow.com/questions/9339936/get-event-list-based-on-location希望它仍然有效! – DMCS

回答

5

確實可以使用基於位置的「搜索」來接收事件 要做到這一點,您需要您想要搜索的位置的經度和緯度座標以及具有user_events權限的access_token(我認爲您也可以使用公衆搜索)

下面是一個FQL示例,您如何獲取位置附近的所有事件。 (這從您和您的朋友事件中搜索):

$lat = "40"; 
$long = "30"; 

// using offset gives us a "square" on the map from where to search the events 
$offset = 0.4; 

$events = 'SELECT pic_big, name, venue, location, start_time, eid FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND start_time > '. $created_time .' OR uid = me()) AND start_time > '. $created_time .' AND venue.longitude < \''. ($long+$offset) .'\' AND venue.latitude < \''. ($lat+$offset) .'\' AND venue.longitude > \''. ($long-$offset) .'\' AND venue.latitude > \''. ($lat-$offset) .'\' ORDER BY start_time ASC '. $limit; 

這個訣竅本身在於場地。經度和場地。海拔用途。要從城市獲取活動,只需獲取城市座標並根據需要調整偏移量即可。 如果你不知道如何使用FQL請看Facebook PHP SDK

2

我與此相同的問題摔跤現在。這看起來不可能。有幾個問題,我看到:

  • 位置字段不是在pageplace表搜索,
  • 事件位置填充的方式是不一致的:見this page's events for an example。 (我個人人口最多的這些,這些是FB變化,而不是用戶的錯誤。)
  • FQL沒有一個AS聲明基於計算的結果進行查詢,並
  • Facebook的限制返回的項目數通過查詢某個相當低的值。

引用網站似乎要做的是查詢event.description輸入字符串的存在。查詢「宜家」,你會得到很多結果。絕對不是地理搜索。 (順便說一句,該網站的源代碼是GitHub)。

編輯:

好吧,我錯了。 Facebook確實公開了搜索方法,但僅限於Graph API。使用batch request功能,您可以執行一系列請求是的:已知緯度/長

  • 查找距離內的所有place項(以米爲單位)。圖表api接受q=*作爲搜索字符串返回所有地方。
  • 查詢event查找上面返回地點的所有事件。

我打算玩這個。我會更新這篇文章,因爲我更好地充實了這段代碼。

+0

你完全正確。我真的不明白爲什麼將研究限制在描述領域。該API將更加強大! – Claus

+2

http://facebook.stackoverflow.com/questions/9339936/get-event-list-based-on-location有一個很好的方式來獲取地點的事件。希望它仍然有效! – DMCS

+0

@DMCS這是一個很好的例子。我將不得不試試看它是否仍然有效。 – cpilko

0

我相信,在http://elmcity.info/fb_events?location=tokyo他們是不是真的尋找在東京的活動,他們只是執行這樣的查詢

https://graph.facebook.com/search?type=event&q=tokyo

(需要訪問令牌,見https://developers.facebook.com/tools/explorer?method=GET&path=search%3Ftype%3Devent%26q%3Dhaifa

注意,該網址也適用 http://elmcity.info/fb_events?location=sport

我也在尋找一種方法來檢索使用fql的公共事件,到目前爲止我沒有找到任何。

1

嘗試此代碼爲我工作返回一個包含特定關鍵字,可以是你的位置,即將到來的公共事件的所有細節

SELECT eid,name,description,venue,creator,location,ticket_uri,start_time, eid,host,not_replied_count,pic_square,pic_big,unsure_count,attending_count,declined_count,all_members_count FROM event WHERE start_time > now() AND CONTAINS("your location name") AND privacy='open'