Проверка состояния rsvp по событию и отображение отключенной / включенной кнопки RSVP - PullRequest
2 голосов
/ 06 сентября 2011

Я все еще немного не уверен, как бы найти это в документации, но я хотел бы проверить, зарегистрировался ли вошедший в систему пользователь RSVP к событию fb или нет, и показать "I" в зависимости от этого, я уже подключил кнопку входа в систему и соответствующие разрешения (user_events и rsvp_event), просто не знаю, как это сделать с помощью JS SDK.

Ответы [ 3 ]

0 голосов
/ 06 сентября 2011

Вы можете использовать Graph API для этого.Существует два сценария, которые могут представлять интерес: (1) для события вы хотите указать, присутствует ли пользователь, и (2) для пользователя вы хотите перечислить событие, которое он посещает.Вам необходимо разрешение user_events для обоих сценариев.

Для (1): HTTP GET / EVENT_ID / текущие.Это вернет массив объектов с {id, name, rsvp_status} полями.Найдите интересующий вас идентификатор пользователя, и, если они имеют RSVP, в поле rsvp_status будет указано, посещают ли они.

Для (2): HTTP GET / USER_ID/События.Это вернет все события для пользователя с несколькими полями, а также поля {id, name, rsvp_status}, как указано выше.На этот раз поищите интересующий вас Идентификатор события, а затем в поле rsvp_status будет указано, присутствует ли текущий пользователь, не посещает, может быть, посещает или нет RSVP (то есть rsvp_statusunsure).

0 голосов
/ 26 октября 2012

На самом деле, есть более простой способ сделать все это.Проблема с FQL-запросом заключается в том, что после отправки RSVP для отображения статуса появляется задержка примерно через 15-30 секунд.Но это работает в API графа без нумерации страниц.Попробуйте запрос GET в этой форме:

/ [идентификатор события] / Invite? User = [идентификатор_пользователя] & access_token = [access_token]

Он вернет структуру данных с rsvp_status, еслиПользователь вообще имеет RSVPed, в том числе для публичных мероприятий, на которых этот пользователь технически не был "приглашен".Если структура данных пуста, то они вообще не имеют RSVPed.

0 голосов
/ 06 сентября 2011

Вы можете запросить таблицу FQL event_member, что-то вроде:

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

...