tools español developers facebook facebook-graph-api facebook-access-token

facebook - developers - access token español



Token de acceso de FB de larga duración para que el servidor extraiga la información de la página FB (4)

Estos son los pasos que estaban anteriormente en la pregunta: se han migrado a esta respuesta.

Tras descubrir que es posible generar un token de acceso a la página de Facebook que no caduca (con la ayuda de @Igy), aquí hay una guía clara, paso a paso para todos aquellos que buscan lo mismo:

  1. Asegúrate de ser el administrador de la página de FB de la que deseas obtener información
  2. Crea una aplicación de FB (debería estar con la misma cuenta de usuario que es el administrador de la página)
  3. Dirígete al Facebook Graph API Explorer
  4. En la esquina superior derecha, selecciona la aplicación FB que creaste en la lista desplegable "Aplicación"
  5. Haga clic en "Obtener token de acceso"
  6. Asegúrese de agregar el permiso manage_pages
  7. Convierta este token de acceso de corta duración en uno de larga duración haciendo esta llamada Graph API: https://graph.facebook.com/oauth/access_token?client_id=<your FB App ID >&client_secret=<your FB App secret>&grant_type=fb_exchange_token&fb_exchange_token=<your short-lived access token>
  8. Toma el nuevo token de acceso de larga vida devuelto
  9. Realice una llamada Graph API para ver sus cuentas usando el nuevo token de acceso de larga duración: https://graph.facebook.com/me/accounts?access_token=<your long-lived access token> token de acceso de https://graph.facebook.com/me/accounts?access_token=<your long-lived access token>
  10. access_token el access_token de la página de la que access_token información
  11. Lint el token para ver que está configurado para Expires: Never ¡ Expires: Never !

Deberias hacer eso. Ahora debería tener un token de acceso a la página de Facebook que no caduca, a menos que:

  • Cambias la contraseña de tu cuenta de Facebook
  • Pierdes el acceso de administrador para la página de destino
  • Borras o anulas la autorización de tu aplicación de Facebook

Cualquiera de estos hará que el token de acceso se vuelva inválido.

Si obtiene (#100) Tried accessing nonexisting field (accounts) on node type (Page) , vaya al Depurador de tokens de acceso , copie el valor de User ID de User ID y úselo para reemplazar la parte "me" de la URL en paso 9.

Soy consciente de que hay muchas preguntas sobre los tokens de acceso a Facebook y el dolor que causan, pero a pesar de mucha experimentación y lectura de muchos artículos de blog vagas y frustrantes (FB y otros), todavía estoy luchando por obtener una respuesta clara a mis necesidades. . Permítanme descomponer mi proceso hasta ahora:

  • Estoy creando un sitio que, desde el lado del servidor, necesita extraer las publicaciones / estados de una sola página de Facebook
  • Soy un administrador de esa página de Facebook
  • He creado una aplicación de Facebook
  • Utilizando Facebook Graph API Explorer , he generado una clave efímera, conectada a mi aplicación y mi cuenta, que otorga permiso a mi cuenta para ver los tokens de acceso de mis páginas.
  • He convertido mi clave efímera en una clave de larga vida (60 días) como escenario 4 a partir de this

Y aquí es donde estoy atascado. Mi clave de 60 días funciona bien para que mi servidor obtenga la información necesaria de la página, pero hasta donde sé, no hay forma de ampliar programáticamente esa clave de 60 días. Tampoco sé de una manera de generar una nueva clave de corta duración sin ir manualmente al Facebook Graph API Explorer y crear uno.

Como mi servidor hace las solicitudes a la API de Facebook y no a un sistema basado en el usuario (donde podría solicitar fácilmente que un usuario autorice la aplicación de Facebook de nuevo), esto crea un sistema muy complicado. Dado que Facebook se offline_access , ¿realmente no hay una forma permanente de que mi servidor extraiga información de mi propia página? ¿Tendré que crear una nueva clave manualmente y actualizar manualmente mi servidor cada 60 días?

¿O hay algo que me falta?

Actualizar:

La guía paso a paso que se encontró anteriormente aquí se ha migrado a su propia answer .


Esto está cubierto en el documento de desacato de Acceso sin conexión

Use el token de 60 días para que el administrador de la página recupere un token de acceso a la página (a través de /PAGE_ID?fields=access_token o /me/accounts ) - el token de acceso a la página no tendrá un tiempo de caducidad


Muchas gracias a @redhotvengeance por la guía paso a paso.

Después de un tiempo, ahora está claramente descrito en la documentación de Facebook:

https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension

Extender tokens de acceso a la página

Las aplicaciones pueden recuperar un token de acceso a la página de los usuarios administradores de la página cuando se autentican con el permiso manage_pages. Si el token de acceso de usuario utilizado para recuperar este token de acceso a la página tiene una vida corta, el token de acceso a la página también tendrá una vida corta.

Para obtener un token de acceso a la página de mayor duración, cambie el token de acceso de usuario por uno de larga duración, como se indica arriba, y luego solicite el token de acceso a la página. El token de acceso a la página resultante no tendrá tiempo de caducidad.


También puede copiar y pasar desde el panel de la aplicación en Facebook. Los pasos:

  1. Vaya a https://developers.facebook.com

  2. Seleccione su aplicación en la esquina superior derecha de la página (foto de cómo se ve)

  3. Haz clic en Messenger desde las opciones de la izquierda (irá a la configuración automáticamente) (foto de cómo se ve)
  4. Vaya a la sección "Generación de tokens" en la página. Seleccione para qué página quiere generar el token. (foto de cómo se ve esa sección)
  5. Copia y pasa el token de tu página donde sea que la necesites.

Tenga en cuenta que, aunque en teoría, su token no caducará, que está directamente relacionado con la cuenta de Facebook en la que haya iniciado sesión. Por ejemplo, si cambiaste tu contraseña o eliminaste los permisos de entre tu cuenta y tu aplicación, tu token ya no será válido.