显示活动参与者的Facebook图表


Facebook Graph to show Event Attendees

我希望在PHP页面上显示给定facebook活动的参与者。理想情况下,这将是一个图形显示与人们的图片显示。

我相信这可以使用facebook图形API来完成,但下面给了我一个需要签名的错误:

https://api.facebook.com/method/fql.query?query=SELECT uid FROM event_member WHERE eid =  ... AND rsvp_status = 'attending'

还有,我怎么才能拿到eid?它可以简单地从事件页面链接的末尾解析吗?www.facebook.com/events/…eid#…

谢谢大家!

要获取活动参与者,您可以运行以下FQL查询:

SELECT uid FROM event_member WHERE eid = "EXISTING_EVENT_ID"

事件id是您可以从许多来源获得的,如果您通过Graph API创建事件,您将获得事件id作为响应。或者,您可以获取当前/特定用户参加的活动的ID。或者正如您已经从事件页面的URL中注意到的那样。

下一个FQL查询将返回当前用户正在参加的所有事件:

SELECT eid FROM event_member WHERE uid = me() AND rsvp_status = "attending"

查询可以嵌套,这样你就可以做一些事情,比如获取当前用户参加过的所有活动的所有参与者的列表:

SELECT eid, uid FROM event_member WHERE eid IN (
  SELECT eid FROM event_member WHERE uid = me() AND rsvp_status = "attending"
)

要获得特定活动参与者的详细信息,可以这样做:

SELECT uid, name, pic_square FROM user WHERE uid IN (
  SELECT uid FROM event_member WHERE eid = "EXISTING_EVENT_ID"
)

注意:

  • 您需要任何有效的access_token才能获取公共活动的详细信息
  • 若要检索当前用户的事件,您需要user_events权限才能由该用户授予您的应用程序
  • 您可以用http://graph.facebook.com/{USER_ID}/picture格式的URL显示只知道其id的用户图像
  • 通过向https://graph.facebook.com/fql?q={QUERY_HERE}发出GET请求,可以使用Graph API运行FQL查询

有关FQL和Graph API的更多详细信息,请阅读文档,尤其是表event_memberuser