Question

Je suis encore un peu incertain de la façon dont je trouverais cela dans la documentation, mais je voudrais vérifier si l'utilisateur connecté a RSVP'ed à un fb événement ou non, et de montrer le « I » m assistant » bouton en fonction de ... J'ai déjà le login bouton accroché et les autorisations appropriées (user_events et rsvp_event), mais pas sûr de savoir comment s'y prendre à l'aide du SDK JS.

Était-ce utile?

La solution

Vous pouvez interroger la event_member FQL table, quelque chose comme:

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);
    }
);

quelque chose comme reviendriez (alerte): declined

Autres conseils

Vous pouvez utiliser l'API graphique pour le faire. Il y a deux scénarios qui peuvent vous intéresser: (1) Pour un événement, vous voulez la liste si l'utilisateur participe, et (2) pour un utilisateur, vous voulez la liste est qu'ils sont l'événement Participera. Vous avez besoin de l'autorisation de user_events pour les deux scénarios.

Pour (1): HTTP GET / EVENT_ID / assistant. Ceci renvoie un tableau d'objets avec des champs de {id, name, rsvp_status}. Recherchez l'ID de l'utilisateur qui vous intéressent et, si elles ont répondu à l'invitation, le champ de rsvp_status vous dira s'ils sont présents.

Pour (2): HTTP GET / user_id / événements. Cela renverra tous les événements pour l'utilisateur avec plusieurs champs, mais aussi les champs {id, name, rsvp_status} comme ci-dessus. Cette fois-ci, recherchez l'ID d'événement qui vous intéressent, puis le champ rsvp_status vous dira si l'utilisateur actuel participe, ne pas assister, peut-être assister, ou n'a pas répondu à l'invitation (c.-à-rsvp_status est unsure).

En fait, il y a un moyen plus facile de faire tout cela. Le problème avec la requête FQL est qu'il ya un retard de 15-30 secondes après comme vous soumettez le RSVP pour le statut d'apparaître. Mais cela fonctionne dans l'API graphique sans pagination. Essayez une requête GET sous cette forme:

/ [id événement] / invité? User = [user_id] & access_token = [access_token]

Il retournera une structure de données avec le rsvp_status si l'utilisateur a RSVPed à tous, y compris pour des événements publics où l'utilisateur n'a pas été techniquement « invité ». Si la structure de données est vide, ils ne sont pas du tout RSVPed.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top