Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Comment générer un jeton d’accès longue durée Facebook

278

Avez-vous déjà rencontré des tâches API ? Ensuite, vous avez probablement entendu parler du « jeton d’accès ». Le jeton d’accès est une sorte de jeton d’identité que les sites Web sociaux (comme Facebook) utilisent pour effectuer des opérations au nom d’un utilisateur.

En d’autres termes, une application avec un jeton d’accès valide peut récupérer votre liste d’amis, publier sur votre mur, obtenir vos informations de base telles que votre e-mail, votre date de naissance, etc. Bien sûr, vous devez autoriser tous ces accès. Sans votre autorisation, le jeton d’accès ne peut pas accéder aux informations des utilisateurs.

Lorsqu’on parle d’API Facebook, leur API fournit 2 types de tokens: des tokens d’accès de courte durée et de longue durée.

Le jeton de courte durée a une courte durée. Cela signifie que vous ne pouvez pas effectuer d’appels d’API après l’expiration du jeton. Vous obtiendrez la réponse non autorisée une fois le jeton expiré. Chaque appel d’API nécessite un jeton d’accès valide en tant que paramètre, puis seulement ils envoient une réponse en retour.

Une fois le jeton expiré, vous devez demander à l’utilisateur de recommencer le processus de connexion à l’aide de votre application.

Ça n’a pas de sens. C’est en quelque sorte un processus répété que l’utilisateur n’aime pas vraiment.

C’est là que nous devrions utiliser le concept de jeton d’accès longue durée de Facebook. Un jeton à longue durée de vie dure généralement environ 60 jours. Et c’est bien mieux que d’utiliser des jetons de courte durée.

Cela dit, voyons comment générer un jeton d’accès longue durée de Facebook.

Enregistrer une application

Pour commencer, vous devez d’abord enregistrer une application sur Facebook Developers. Vous obtiendrez un guide étape par étape sur la façon d’enregistrer et de configurer une application ici.

Une fois que vous avez enregistré l’application, copiez l’identifiant de l’application et le secret de l’application dont nous avons besoin dans un instant.

Comment générer un jeton d'accès longue durée Facebook

Générer un jeton d’accès de longue durée

Maintenant, nous avons l’identifiant de l’application et les clés secrètes de l’application. Créez un fichier appelé config.phpet ajoutez nos clés à l’aide de la méthode 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');
?>

Dans le code ci-dessus, nous avons spécifié REDIRECT_URL à YOUR_SITE_URL/redirect.php. Alors, créez le fichier redirect.php. C’est le fichier dans lequel nous écrirons le code pour générer un jeton à longue durée de vie.

Mais avant cela, nous devons créer une URL de connexion qui redirige un utilisateur vers la page de connexion Facebook pour autoriser votre application. Créez un fichier login.phpet ajoutez-y le code ci-dessous.

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>";
?>

Lorsqu’un utilisateur clique sur le lien pour se connecter à Facebook, il sera redirigé vers la page de connexion Facebook. Une fois qu’ils autorisent votre application, l’utilisateur sera redirigé vers YOUR_SITE_URL/redirect.php. En retour, nous obtenons un code en tant que paramètre GET de Facebook. En utilisant cette valeur de code, nous générons un premier jeton d’accès de courte durée. Et puis grâce à ce jeton de courte durée, nous générons un jeton d’accès de longue durée.

Assurez-vous que l’extension CURL est activée sur votre serveur, sinon notre code ne fonctionnera pas comme prévu.

rediriger.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);
}
?>

C’est ça! Nous espérons que vous avez pris connaissance du processus de génération d’un jeton d’accès longue durée pour l’API Facebook. S’il vous plaît partager vos pensées dans la section commentaire ci-dessous.

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails