Saltar al contenido

Facebook: ¿token de acceso a la página permanente?

El tutorial o código que hallarás en este artículo es la solución más sencilla y válida que encontramos a tu duda o problema.

Solución:

Siguiendo las instrucciones establecidas en la documentación de tokens de página extendida de Facebook, pude obtener un token de acceso a la página que no caduca.

Sugiero usar Graph API Explorer para todos estos pasos, excepto donde se indique lo contrario.

0. Crear aplicación de Facebook

Si ya tienes una aplicaciónvaya al paso 1.

  1. Vaya a Mis aplicaciones.
  2. Haga clic en “+ Agregar una nueva aplicación”.
  3. Configurar una aplicación de sitio web.

No necesitas cambiar sus permisos ni nada. Solo necesita una aplicación que no desaparezca antes de que termine con su token de acceso.

1. Obtenga el token de acceso de corta duración del usuario

  1. Vaya al Explorador de Graph API.
  2. Seleccione la aplicación para la que desea obtener el token de acceso (en el menú desplegable “Aplicación”, no en el menú “Mis aplicaciones”).
  3. Haga clic en “Obtener token” > “Obtener token de acceso de usuario”.
  4. En la ventana emergente, en la pestaña “Permisos extendidos”, marque “manage_pages”.
  5. Haga clic en “Obtener token de acceso”.
  6. Otorgue acceso desde una cuenta de Facebook que tenga acceso para administrar la página de destino. Tenga en cuenta que si este usuario pierde el acceso, es probable que el token de acceso final que nunca caduca deje de funcionar.

El token que aparece en el campo “Token de acceso” es su token de acceso de corta duración.

2. Generar token de acceso de larga duración

Siguiendo estas instrucciones de los documentos de Facebook, haga una solicitud GET a

https://graph.facebook.com/v2.10/oauth/access_token?grant_type=fb_exchange_token&client_id=aplicación_id&cliente_secreto=App secreta&fb_intercambio_token=ficha_de_vida_corta

ingresando la ID y el secreto de su aplicación y el token de corta duración generado en el paso anterior.

no se puede usar Graph API Explorer. Por alguna razón, se atasca en esta solicitud. Creo que es porque la respuesta no es JSON, sino una consulta. string. Dado que es una solicitud GET, puede ir a la URL en su navegador.

La respuesta debería verse así:

“token_de_acceso”:”ABC123“,”token_type”:”portador”,”expires_in”:5183791

“ABC123” será su token de acceso de larga duración. Puede colocarlo en el depurador de tokens de acceso para verificarlo. Debajo de “Expires” debería tener algo así como “2 meses”.

3. Obtener identificación de usuario

Con el token de acceso de larga duración, realice una solicitud GET a

https://graph.facebook.com/v2.10/me?access_token=token_de_acceso_de_vida_larga

los id el campo es su ID de cuenta. Lo necesitará para el siguiente paso.

4. Obtenga un token de acceso a la página permanente

Haz una solicitud GET a

https://graph.facebook.com/v2.10/ID de la cuenta/cuentas?access_token=token_de_acceso_de_vida_larga

La respuesta JSON debe tener un data campo bajo el cual se encuentra un array de elementos a los que el usuario tiene acceso. Busque el elemento de la página de la que desea el token de acceso permanente. los access_token El campo debe tener su token de acceso permanente. Cópielo y pruébelo en Access Token Debugger. Debajo de “Caduca” debe decir “Nunca”.

Aquí está mi solución usando solo Graph API Explorer y Access Token Debugger:

  1. Explorador de API gráfica:
    • Seleccione su aplicación en el menú desplegable superior derecho
    • Seleccione “Obtener token de acceso de usuario” del menú desplegable (campo derecho del token de acceso) y seleccione los permisos necesarios
    • Copiar token de acceso de usuario
  2. Depurador de tokens de acceso:
    • Pegue el token copiado y presione “Depurar”
    • Presione “Extender token de acceso” y copie el token de acceso de usuario de larga duración generado
  3. Explorador de API gráfica:
    • Pegue el token copiado en el campo “Token de acceso”
    • Realice una solicitud GET con “PAGE_ID?fields=access_token”
    • Encuentre el token de acceso a la página permanente en la respuesta (nodo “access_token”)
  4. (Opcional) Depurador de token de acceso:
    • Pegue el token permanente y presione “Depurar”
    • “Caduca” debe ser “Nunca”

(Probado con la versión API 2.9-2.11, 3.0-3.1)

Hice un script PHP para hacerlo más fácil. Crea una aplicación. En Graph API Explorer, seleccione su aplicación y obtenga una token de usuario con permisos de gestión de páginas y publicación de páginas. Encuentra el ID de tu página en la parte inferior de la página Acerca de. Complete los vars de configuración y ejecute el script.

'',
    'appid'=>'',
    'appsecret'=>'',
    'pageid'=>''
];

echo generate_token($args);

function generate_token($args)
    $r=json_decode(file_get_contents("https://graph.facebook.com/v2.8/oauth/access_token?grant_type=fb_exchange_token&client_id=$args['appid']&client_secret=$args['appsecret']&fb_exchange_token=$args['usertoken']")); // get long-lived token
    $longtoken=$r->access_token;
    $r=json_decode(file_get_contents("https://graph.facebook.com/v2.8/me?access_token=$longtoken")); // get user id
    $userid=$r->id;
    $r=json_decode(file_get_contents("https://graph.facebook.com/v2.8/$userid/accounts?access_token=$longtoken")); // get permanent token
    foreach($r->data as $d) if($d->id==$args['pageid']) return $d->access_token;

Si estás contento con lo expuesto, puedes dejar un artículo acerca de qué le añadirías a esta sección.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *