tutorial example español facebook facebook-graph-api

example - graph api facebook tutorial



¿Cómo puedo forzar que un token de acceso de Facebook expire? (8)

Esto debería funcionar, verifique a continuación.

Invalidar (también cerrar sesión) tu token; hacer una llamada HTTP GET a ese punto final;

https://api.facebook.com/restserver.php?method=auth.expireSession&format=json&access_token=<access_token>

ps mi respuesta es de 2012 ... Desde entonces, Facebook API ha evolucionado con muchos cambios importantes. Es más confiable leer el up2date Facebook developer doc

Estoy haciendo algunas pruebas a raíz de la caducidad de offline_access. Creo que todas las interacciones que hace mi aplicación con Facebook se realizan a través de mis servidores y la actividad del usuario la inicia el usuario en varios puntos finales de la aplicación (aplicaciones de teléfono, sitio web, escritorio). Puedo usar un token de acceso a aplicaciones para publicar en la pared nombre de mis usuarios, suponiendo que la aplicación todavía está autorizada, incluso si el token de acceso que solicité durante la autorización ha expirado. Eso parece ser lo que la documentación here está implicando con

La autenticación como una aplicación le permite obtener un token de acceso que le permite solicitar a la API de Facebook en nombre de una aplicación en lugar de un usuario. [...] Los tokens de acceso a aplicaciones también se pueden usar para publicar contenido en Facebook en nombre de un usuario que ha otorgado un permiso de publicación a su aplicación.

Los tokens de acceso a la aplicación generalmente no caducan. Una vez generados, son válidos indefinidamente.

Sin embargo, necesito probar esto. Entonces, tengo que caducar algunos tokens. Traté de usar usuarios de prueba oficiales que creaste en el sitio del desarrollador, que solo pueden interactuar con el entorno limitado de la aplicación y otros usuarios en él, pero sus tokens parecen tener una validez perpetua durante una hora.

Así que traté de usar un usuario real de Facebook que creé para esto, y cambiar la contraseña que leería se supone que caduca el token. Pero no es así El token sigue siendo válido en el depurador y aún puedo usarlo para muchas cosas, incluida la publicación en mi muro. Incluso puedo continuar usando este token después de cerrar completamente el sitio de Facebook.

¿Lo que da? ¿Cómo puedo obtener un access_token caducado para que pueda probar mi token de acceso a la aplicación?

Editar: creo que va a funcionar. Creé mi token de acceso a la aplicación y utilicé el flujo CLIENT-SIDE para obtener un token de acceso de usuario que solo duró 2 horas, por lo que podría esperar a que caduque. Después de la caducidad, utilicé Graph API explorer para intentar publicar una actualización de estado, que no me decía cuándo había caducado mi token. Luego intenté la misma acción usando mi token de aplicación que tuvo éxito.


Las respuestas publicadas aquí están desactualizadas. Para forzar la caducidad de su token: inicie sesión en su cuenta de Facebook, vaya a "Configuración", luego haga clic en "Aplicaciones" en el lado izquierdo

Eliminar la aplicación:

Eso obligará al token a caducar.


Me gusta la respuesta @guleryuz, pero de manera práctica:

Dado un access_token válido ${token} :

$ curl -X GET "https://graph.facebook.com/v2.7/me/permissions?access_token=${token}" {"data":[{"permission":"user_friends","status":"granted"},{"permission":"email","status":"granted"},{"permission":"manage_pages","status":"granted"},{"permission":"business_management","status":"granted"},{"permission":"pages_messaging","status":"granted"},{"permission":"pages_messaging_phone_number","status":"granted"},{"permission":"public_profile","status":"granted"}]}

Revoque la solicitud:

$ curl -X DELETE "https://graph.facebook.com/v2.7/me/permissions?access_token=${token}" {"success":true}

Verificar revocar:

$ curl -X GET "https://graph.facebook.com/v2.7/me/permissions?access_token=${token}" {"error":{"message":"Error validating access token: The session was invalidated explicitly using an API call.","type":"OAuthException","code":190,"error_subcode":466,"fbtrace_id":"E2UhrNzyyzZ"}}


Otra posible solución es usar una cuenta de prueba con un tiempo de caducidad personalizado:


Para ver los permisos

https://graph.facebook.com/v2.7/{userID}/permissions?access_token={acessToken}

Para eliminar permisos, agregue "method=delete" antes de &access_token=

https://graph.facebook.com/v2.7/{userID}/permissions?method=delete&access_token={acessToken}


Pero dice ahí mismo en la documentación, justo después de la última línea que citó:

Los tokens de acceso a la aplicación generalmente no caducan. Una vez generados, son válidos indefinidamente. Sin embargo, si necesita invalidar su token de acceso a la aplicación por alguna razón, puede restablecer el secreto de la aplicación en la configuración de su aplicación. Una vez que se haya restablecido el secreto de la aplicación, deberá seguir los pasos a continuación para generar un nuevo token de acceso a la aplicación.

Por lo tanto, para fines de prueba, restablezca la clave secreta de la aplicación.

Editar

Oh, te malentendí completamente.
Es más fácil invalidar un token de usuario, solo usa la conexión me/permissions con una solicitud DELETE.

Eso eliminará la aplicación para el usuario conectado.
Puede intentarlo desde la herramienta del explorador, simplemente seleccione ELIMINAR en el cuadro de selección que se deja al campo de ruta.


puedes intentar replicar el comportamiento cambiando tu contraseña de Facebook