过去两年中某一特定地点的所有facebook事件列表
我想做什么 我正试图提取一份2012年和2013年在某个城市发生的所有公共facebook事件的列表。此外,对于其中的每一项,我想摘录以下内容: 事件名称 事件描述 日期 地方 参加/可能参加/谢绝的人数 到目前为止我都试过了 我在graph explorer中尝试了以下查询过去两年中某一特定地点的所有facebook事件列表,facebook,facebook-graph-api,facebook-fql,Facebook,Facebook Graph Api,Facebook Fql,我想做什么 我正试图提取一份2012年和2013年在某个城市发生的所有公共facebook事件的列表。此外,对于其中的每一项,我想摘录以下内容: 事件名称 事件描述 日期 地方 参加/可能参加/谢绝的人数 到目前为止我都试过了 我在graph explorer中尝试了以下查询 search?q={Oslo}& [type={event}](#searchtypes) 我现在已经忽略了日期范围限制。我想我以后可以解决这个问题 问题 这是列出状态更新、故事、地点和其他所有内容,并将其作为J
search?q={Oslo}& [type={event}](#searchtypes)
我现在已经忽略了日期范围限制。我想我以后可以解决这个问题
问题
这是列出状态更新、故事、地点和其他所有内容,并将其作为JSON对象返回。然而,这并不能提供我所需要的所有数据字段。有什么想法吗
旁注
我已经试着调查FQL,但显然不能做这样的搜索?如果可以的话,请随时提供帮助。我得到的最接近的结果是:
SELECT eid FROM event_member WHERE uid IN
(SELECT page_id FROM place WHERE
distance(latitude, longitude, "37.76", "-122.427") < 1000)
但这只会给我未来的事情。如果它允许我也查看过去?搜索您未以任何方式链接到的公共对象没有参与,没有邀请只能通过Graph Search API完成,而不是Graph API或FQL 目前。你会发现这个API并没有提供太多的可能性,所以如果你想实现你的目标,你必须拼凑一些东西。没有任何直接的方法可以做到这一点 如果我们收集有关事件的信息,这几乎就是我们所拥有的一切: 搜索类型 活动: 领域 您可以使用 ?字段=URL参数,与读取其他字段时相同 物体。例如,要仅获取事件的名称,可以执行以下操作 以下: 事件名称: 时间 在搜索公共帖子或用户新闻提要上的帖子时,您可以 可以使用“自”、“直到”和“限制”翻页结果 参数。从和直到都接受unix时间戳。寻呼时 回到过去,你应该使用,直到与限制在哪里 直到是上次创建的时间字段的unixtime值 由上一个查询返回的对象。寻呼时及时转发 您应该将since设置为创建时间的unixtime值 上次查询返回的第一个对象中的字段。请 注意,您只能在新闻提要中搜索大约1到2周 接下来要知道的是,结果集由事件组成,其中一个字段包含要查找的字符串q=Oslo。因此,奥斯陆可能出现在信息、描述、位置字段中的幸运和时区字段中的不幸中 然后,您必须手动筛选出结果。您可以搜索包含奥斯陆的事件,然后检查该位置是否确实包含奥斯陆。或者,如果你很容易找到特定地点的活动,我建议你搜索格式为City,Country的字符串,因为这是Facebook格式城市的方式。所以你可以这样做:
search?fields=location&q="Oslo, Norway"&type=event&since=1356994800
其中1356994800是此后您要检索事件的unixtime
可能的结果:
{
"data": [
{
"location": "Oslo, Norway",
"id": "211893915563330",
"start_time": "2022-02-08T00:00:00"
},
{
"location": "Lillestrøm, Norway",
"id": "641379122561097",
"start_time": "2015-09-06T09:00:00+0200"
},
{
"location": "Oslo, Norway",
"id": "1434492323451716",
"start_time": "2014-11-06T20:45:00+0100"
},
{
"location": "Oslo, Norway",
"id": "563423357073321",
"start_time": "2014-09-20"
},
...
{
"location": "Oslo, Norway",
"id": "628230923890648",
"start_time": "2013-01-16T19:00:00+0100"
}
],
}
然后,或许可以使用谷歌地图API来确定找到的位置是否确实靠近奥斯陆。也就是说,挪威离它很近。看起来FQL可以给你想要的结果。 此FQL是您启动的FQL的扩展,它将显示2012年至2013年之间的所有事件,以及您想要的事件的数据:
select
eid,
name,
description,
location,
all_members_count,
attending_count,
unsure_count,
not_replied_count,
declined_count,
start_time,
end_time,
venue
from
event
where
eid in
(
select
eid,
start_time
from
event_member
where
uid in
(
select
page_id
from
place
where
distance(latitude, longitude, "37.76", "-122.427") < 1000
) and
start_time > "2012-01-01"
) and
end_time < "2013-01-01" and
end_time <> 'null'
@StéphaneBruckert:不是真的,我已经知道如何将搜索限制在某个特定区域。我在寻找一种回顾过去的方式events@StéphaneBruckert:此外,如果你注意到……我已经在使用你建议的问题的答案作为副本。有没有办法获得事件的纬度和经度?@ArnabDatta yep:请看我的编辑。我在选择查询中添加了“地点”字段。你确定在活动描述中使用q搜索吗?如果我记得很清楚,是的。我的经验是,它没有,不幸的是,让我再看一眼。最近Facebook API上的情况发生了很大变化。
{
"eid": 170775033066718,
"name": "Lavender Diamond at The Chapel - Dec 11",
"description": "Get tickets: http://ticketf.ly/SUb4w9\nDetails: http://www.thechapelsf.com/event/184715/\n\nVERY SPECIAL GUEST WILL BE ANNOUNCED DAY OF SHOW",
"location": "The Chapel",
"all_members_count": 92,
"attending_count": 30,
"unsure_count": 3,
"not_replied_count": 59,
"declined_count": 4,
"start_time": "2012-12-11T20:00:00",
"end_time": "2012-12-12T00:00:00",
"venue": {
"street": "",
"city": "",
"state": "",
"country": "",
"latitude": 37.760503799154,
"longitude": -122.42123452518,
"id": 113634312122520
}
}