检查event-rsvp状态并显示已禁用/已启用的RSVP按钮

时间:2011-09-05 21:39:53

标签: javascript facebook events facebook-javascript-sdk

我仍然有点不确定如何在文档中找到这个,但我想检查登录用户是否已经RSVP转到fb-event,并显示“我”我参加“按钮取决于那......我已经连接了登录按钮和适当的权限(user_events和rsvp_event),只是不知道如何使用JS SDK进行此操作。

3 个答案:

答案 0 :(得分:0)

您可以查询event_member FQL表,例如:

FB.api(
    {
        method: 'fql.query',
        query: 'select rsvp_status from event_member where eid = "EVENT_ID" and uid=me()'
    }, function(response) {
        alert(response[0].rsvp_status);
    }
);

会返回(提醒)类似:declined

的内容

答案 1 :(得分:0)

您可以使用Graph API执行此操作。有两种情况可能会引起关注:(1)对于某个事件,您希望列出用户是否参加,以及(2)对于用户,您希望列出他们正在参加的事件。您需要user_events这两种方案的权限。

For(1):HTTP GET / EVENT_ID /参加。这将返回带有{id, name, rsvp_status}字段的对象数组。查找您感兴趣的用户ID,如果他们已经回复,那么rsvp_status字段会告诉您他们是否参加。

For(2):HTTP GET / USER_ID / events。这将返回具有多个字段的用户的所有事件,以及上述{id, name, rsvp_status}字段。这一次,查找您感兴趣的事件ID,然后rsvp_status字段将告诉您当前用户是否参加,未参加,可能参加或未参加RSVP(即{{ 1}}是rsvp_status)。

答案 2 :(得分:0)

实际上,有一种更简单的方法可以做到这一切。 FQL查询的问题是,在您提交RSVP以显示状态后,会有15-30秒的延迟。但是这可以在没有分页的图形API中使用。尝试使用以下格式的GET请求:

/ [event id] / invite?user = [user_id]& access_token = [access_token]

如果用户完全使用RSVP,它将返回带有rsvp_status的数据结构,包括用于技术上未被“邀请”的公共事件。如果数据结构为空白,则它们根本没有RSVP。