我希望在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_member
和user