使用FQL检索由组托管的事件

时间:2012-03-16 07:45:17

标签: facebook facebook-fql facebook-events facebook-group

我想知道组托管的事件如何连接到该组,以便我可以从特定组中检索所有事件(我拥有组ID)。 这需要使用FQL和PHP SDK完成(我知道我的方式,但我无法找到任何关于组和事件之间的连接)。

5 个答案:

答案 0 :(得分:3)

与此同时,GROUP_ID / events对我来说非常好。

如果你看一下,可以使用REST API: http://developers.facebook.com/docs/reference/rest/events.get/

他们说: “uid可以被gid取代,以便获得由群组而非个人用户托管的活动。”

我尝试通过Graph API Explorer获取我加入的组的事件,它的工作方式与我制作的一些restFB(Java)实现一样。

那么,这可能是您网站的许可问题吗?

答案 1 :(得分:0)

看起来你不能把它拉掉。

Group object的文档未提及事件集合,如果您尝试从图形API中获取 / GROUPID / events ,则会收到错误消息“不支持的请求请求”

group table的fql文档在事件上也没有任何内容,event table仅由事件id索引,这意味着事件和组之间无法连接。

答案 2 :(得分:0)

直到几周前,以下内容将完全符合您的需求

SELECT name FROM event WHERE eid IN
(SELECT eid FROM event_member WHERE uid = <uid from group>)

但api改为使用组对象,因此代码不再起作用。可悲的是,我还没有找到另一种方法来获取特定群体的事件。

答案 3 :(得分:0)

Facebook之前打破了这一局面。 :(

看看我是否可以追溯上次修复它的方法。


与此同时,我能得到的最接近的是:

https://graph.facebook.com/fql?q=SELECT eid, name, host FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid = $uid AND start_time > 0) AND host = '$group_name'&access_token=$token

变量:

  • $ uid =群组管理员的uid
  • $ group_name =群组名称
  • $ token =具有user_events权限的上述群组管理员的访问令牌

我唯一能看到的缺点是:

  1. 需要身份验证令牌(即使是公共群组);和
  2. 必须邀请所使用的管理员参加所有活动(无论如何通常都是如此)。如果没有邀请管理员,则该事件似乎不会显示。

  3. 更新: Facebook错误报告 - 请添加您的支持,以便我们修复此问题: http://developers.facebook.com/bugs/197158423732088

答案 4 :(得分:0)

尝试更新的Wallflux事件:http://wallflux.com/events/115227675156013