...
✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Cómo generar un token de acceso de larga duración de Facebook

211

¿Alguna vez te has encontrado con tareas de API? Entonces, probablemente hayas oído hablar del ‘Token de acceso’. El token de acceso es un tipo de token de identidad que los sitios web sociales (como Facebook) utilizan para realizar operaciones en nombre de un usuario.

En otras palabras, una aplicación con un token de acceso válido puede buscar su lista de amigos, publicar en su muro, obtener sus datos básicos como correo electrónico, fecha de nacimiento, etc. Por supuesto, debe permitir el permiso para todos esos accesos. Sin su permiso, el token de acceso no puede acceder a la información de los usuarios.

Cuando se habla de la API de Facebook, su API proporciona 2 tipos de tokens: tokens de acceso de corta duración y de larga duración.

La ficha de corta duración tiene un breve lapso de tiempo. Eso significa que no puede realizar llamadas a la API después de que expire el token. Obtendrá la respuesta no autorizada una vez que expire el token. Cada llamada a la API requiere un token de acceso válido como parámetro, luego solo ellos envían una respuesta.

Una vez que el token expiró, debe pedirle al usuario que vuelva a realizar el proceso de inicio de sesión utilizando su aplicación.

Eso no tiene sentido. Es como hacer un proceso repetido que al usuario no le gusta en realidad.

Aquí es donde deberíamos usar el concepto de token de acceso de larga duración de Facebook. Una ficha de larga duración suele durar unos 60 días. Y es mucho mejor que usar tokens de corta duración.

Dicho esto, veamos cómo generar un token de acceso de larga duración de Facebook.

Registrar una aplicación

Para comenzar, primero debe registrar una aplicación en Facebook Developers. Obtendrá una guía paso a paso sobre cómo registrarse y configurar una aplicación aquí.

Una vez que haya registrado la aplicación, copie la identificación de la aplicación y el secreto de la aplicación que requerimos en un momento.

Cómo generar un token de acceso de larga duración de Facebook

Genere un token de acceso de larga duración

Ahora, tenemos la identificación de la aplicación y las claves secretas de la aplicación. Cree un archivo llamado config.phpy agregue nuestras claves usando el método PHP define().

config.php

<?php
define('CLIENT_ID', 'YOUR_CLIENT_ID');
define('CLIENT_SECRET', 'YOUR_CLIENT_SECRET');
define('REDIRECT_URL', 'YOUR_SITE_URL/redirect.php');
?>

En el código anterior, especificamos REDIRECT_URL a YOUR_SITE_URL / redirect.php. Entonces, crea el archivo redirect.php. Este es el archivo donde escribiremos el código para generar un token de larga duración.

Pero antes de eso, necesitamos crear una URL de inicio de sesión que redirija al usuario a la página de inicio de sesión de Facebook para autorizar su aplicación. Cree un archivo login.phpy agregue el siguiente código en él.

login.php

<?php
require_once "config.php";
echo "<a href='https://www.facebook.com/v2.10/dialog/oauth?client_id=". CLIENT_ID. "&redirect_uri=". REDIRECT_URL. "'>Login To Facebook</a>";
?>

Cuando un usuario hace clic en el enlace para Iniciar sesión en Facebook, lo redireccionará a la página de inicio de sesión de Facebook. Una vez que otorguen permiso a su aplicación, el usuario lo redireccionará a YOUR_SITE_URL / redirect.php. A cambio, obtenemos un código como parámetro GET de Facebook. Usando este valor de código, generamos un primer token de acceso de corta duración. Y luego, a través de este token de corta duración, generamos un token de acceso de larga duración.

Asegúrese de tener la extensión CURL habilitada en su servidor; de lo contrario, nuestro código no funcionará como se esperaba.

redirect.php

<?php
require_once "config.php";
 
if (isset($_GET['code']) && !empty($_GET['code'])) {
    $post = ['client_id'=> CLIENT_ID, "redirect_uri" => REDIRECT_URL, "client_secret" => CLIENT_SECRET, 'code' => $_GET['code']];
    $arr_result = getFBResponse($post);
 
    //generate long-lived access token
    if (isset($arr_result->access_token)) {
        $post1 = ['grant_type' => 'fb_exchange_token', 'client_id'=> CLIENT_ID, "client_secret" => CLIENT_SECRET, 'fb_exchange_token' => $arr_result->access_token ];
        $arr_result1 = getFBResponse($post1);
        echo "Long Lived Token: ". $arr_result1->access_token;
    }
}
 
function getFBResponse($arr_post = []) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/v2.10/oauth/access_token');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($arr_post));
    $response = curl_exec($ch);
    return json_decode($response);
}
?>

¡Eso es! Esperamos que conozca el proceso de generación de un token de acceso de larga duración para la API de Facebook. Comparta sus pensamientos en la sección de comentarios a continuación.

Fuente de grabación: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More