使用fql获取Facebook事件
尝试使用下面的查询通过fql检索Facebook事件。 除了“身份证”,我无法获得场地详情。
fql?q =选择名称,说明,pic_small,pic_big,eid,地点,位置来自事件WHERE eid in(SELECT eid FROM event_member WHERE uid = me())
输出:
{
"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 doc说:“被查询事件的地点正在举行,包含以下一个或多个字段:街道,城市,州,邮编,国家,纬度和经度。” 但我没有看到任何这些,除了场地ID。
我是否必须提出另一个请求来绘制API以获取场地位置详细信息? 是否有更好的方式在一个查询本身中获取位置细节?
您可以使用此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
已被退回。