Verificar el estado de eventos-RSVP y mostrar RSVP-Button desactivado/habilitado
-
26-10-2019 - |
Pregunta
Todavía estoy un poco inseguro de cómo encontraría esto en la documentación, pero me gustaría verificar si el usuario iniciado ha sido de RSVP a un evento FB o no, y mostrar el "Estoy asistiendo" Botón Dependiendo de eso ... ya tengo el botón de inicio de sesión conectado y los permisos adecuados (user_events y rsvp_event), simplemente no estoy seguro de cómo hacerlo usando el JS SDK.
Solución
Puedes consultar el event_member
Mesa de fql, algo así como:
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);
}
);
Devolvería (alerta) algo como: declined
Otros consejos
Puede usar la API gráfica para hacer esto. Hay dos escenarios que pueden ser de interés: (1) Para un evento, desea enumerar si el usuario asiste, y (2) para un usuario, desea enumerar el evento que asisten. Necesitas el user_events
Permiso para ambos escenarios.
Para (1): http get /event_id /asistir. Esto devolverá una matriz de objetos con {id, name, rsvp_status}
campos. Busque la identificación de usuario que le interese y, si se han hecho, entonces el RSVP, entonces el rsvp_status
Field le dirá si asisten.
Para (2): http get /user_id /eventos. Esto devolverá todos los eventos para el usuario con varios campos, pero también {id, name, rsvp_status}
campos como arriba. Esta vez, busque la identificación del evento que le interesa, y luego el rsvp_status
el campo le dirá si el usuario actual asiste, no atiende, tal vez atiende o no ha llegado a RSVP (es decir, rsvp_status
es unsure
).
En realidad, hay una manera más fácil de hacer todo esto. El problema con la consulta FQL es que hay un retraso de 15-30 segundos después de enviar el RSVP para que aparezca el estado. Pero esto funciona en la API del gráfico sin paginación. Pruebe una solicitud Get en este formulario:
/[ID de evento]/Invited? User = [user_id] & access_token = [access_token
Devolverá una estructura de datos con el RSVP_Status si el usuario ha recurrido, incluso para eventos públicos en los que ese usuario no fue técnicamente "invitado". Si la estructura de datos está en blanco, entonces no han vuelto a colocar en absoluto.