2012-06-05 40 views
1

嘗試使用以下查詢通過fql檢索Facebook事件。除了「身份證」,我無法獲得場地詳情。 ?使用fql獲取Facebook事件

FQL Q = SELECT名稱,描述,pic_small,pic_big,EID,地點,從事件位置WHERE EID中(SELECT EID FROM event_member其中uid =我())

輸出:

{ 
    "data": [ 
    { 
     "name": "HappyHour", 
     "description": "Let's have fun !!!", 
     "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", 
     "eid": ......, 
     "venue": { 
     "id": ....... 
     }, 
     "location": "The Crab Pot Seattle" 
    } 
    ] 
} 

圖形API文檔說:「在那裏被查詢正在舉行的活動場地包括以下字段的一個或多個:街道,城市,州,郵編,國家,緯度和經度。」但我沒有看到任何這些,除了場地ID。

我一定要做出圖形API來獲取地點的詳細位置信息的另一請求?是否有更好的方式在一個查詢本身中獲取位置細節?

+0

正如你從文檔中引述說什麼,一個** **或多個字段......據我知道有沒有辦法喲索要其餘字段,你會得到什麼FB了。 –

+0

不知道的Facebook是否已返回我的所有數據。在上述結果中,場地ID是「113801861983319」。如果我嘗試http://graph.facebook.com/113801861983319,我會看到位置詳細信息。 'code' { 「ID」: 「113801861983319」, 「名」: 「蟹鍋西雅圖」, 「網站」: 「www.thecrabpotseattle.com」, 「用戶名」: 「crabpotseattle」, 「位置「:」{ 「street」:「1301 Alaskan Way」, 「city」:「Seattle」, 「state」:「WA」, 「country」:「United States」, 「zip」:「98101- 2013" , 「緯度」:47.605915163539, 「東經」:-122.34114741484 } ... }'code' – useful

回答

6

你可以得到的位置使用this FQL Multiquery事件。

這將得到您的活動和有關他們的場地的信息。你必須在你的最後編寫一個腳本來將它們組合成可用的東西。

fql?q={ 
"event_info": 
    "SELECT name,description, pic_small,pic_big, eid,venue,location 
     FROM event WHERE eid IN 
     (SELECT eid FROM event_member WHERE uid = me())", 
    "event_venue": 
    "SELECT name, username, page_id, location 
     FROM page WHERE page_id IN 
      (SELECT venue.id FROM #event_info)" 
} 

的Facebook更改了默認的編碼事件四月的某時。它曾經是所有的位置數據總是被用來返回。從那時起,只有該位置的id已被返回。

+0

感謝。我做了和你一樣的解決方案。 – useful