2015-08-26 104 views
3

幫助!我正在嘗試使用Facebook Graph API按位置搜索公共事件。我看過很多帖子,說現在的Graph API的當前版本或FQL都無法實現。但是,我確實看到具有此功能的網站以及許多FQL解決方法。沒有一個對我成功。使用Facebook Graph API按位置搜索公共活動

下面是從API

/search?q=*&type=event&center=10.4434041,-61.419835&distance=1000

這是我的希望,這將是答案,只是因爲它似乎覆蓋類型的事件和具體的位置被請求我的搜索參數。但是,我錯了,我用30種不同的語言獲得了未來20年的免費三星銀河系統同一個營銷活動的清單。

所以我想查詢那個特定位置的場地(地點),結果是成功的,然後從這些場所獲取ID並逐個查詢每個ID以查看是否有任何相關事件發生具體場地。我不知道如何使用第一個搜索查詢的結果去查詢後半部分,但這是我迄今爲止所做的。

/search?type=place&q=*&center=10.4434041%2C-61.419835&distance=1000&fields=name,id

返回

{ 
    "data": [ 
    { 
    "name": "Valid Venue!", 
    "id": "740199068928858" 
    }, 
    { 
    "name": "Valid Venue!", 
    "id": "522158807878843" 
    }, 
    { 
    more valid venue data!! 
    } 
} 

我也應該注意到,這個場地搜索會給我在該地點的所有上市地,其中,我知道很糟糕,完全低效率,但我全都出於想法。

我不確定這是否是正確的路徑,但它似乎是我可以想到的按位置獲取事件的最合理的解決方案。任何指導或所有將不勝感激!

謝謝!

+2

https://github.com/tobilg/facebook-events-by-location – bubakazouba

回答

4

這用來工作(或仍然有效,直到2016年8月7日,如果你有一個2.0版的應用程序,而該事件是由與位置/地點集合頁面創建)爲

例如。使用Graph API本身,不可能在一個查詢中搜索附近的事件。

你可以做的是

  1. 搜索
  2. 通過查詢發現1.事件

記住每一個地方,你必須過濾自己關於所通過附近的地方事件等等,很不幸...

編輯2017-12-20

對於此用例,您可以使用https://github.com/tobilg/facebook-events-by-location-core

+0

非常感謝回升。我已經看到你在這個話題上的答案,你看起來像那個人(或女孩)去。試過解決方案,它的工作原理!再次感謝!! –

+0

很高興我可以幫助:-) – Tobi

+0

無法弄清楚如何做#2 ...你能舉個例子嗎? – rikkitikkitumbo

0

對於版本2。從11開始,我可以看到實現這一目的的最佳/最簡單的方法是將您的位置值添加到查詢本身,因爲q=不僅僅是您的事件名稱。

實施例:

https://graph.facebook.com/v2.11/search?q=marathon%20dublin&type=event&fields=name,id,category,description,place&access_token=ACCESSTOKEN 

返回以下事件(主要)。你可以看到,都柏林從地方領域,因爲它沒有在名稱中提到

{ 
name: "Vhi Women's Mini Marathon 2018", 
id: "1803645183261605", 
description: "The Vhi Women's Mini Marathon is returning to a Sunday 
for 2018!! This year, on 3rd June 2018, we want you to join us by 
walking, jogging or running 10k in Dublin. Sign up from 7 March and 
follow our 12 week training and nutrition plan on line and with the 
The Herald each Wednesday and Saturday. Don't forget to follow us on 
facebook for lots of competitions and important information about the 
event.", 
place: { 
name: "Fitzwilliam Place, Dublin, County Dublin, Ireland" 
} 
} 
相關問題