✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come generare un token di accesso di lunga durata di Facebook

248

Ti sei mai imbattuto in attività API? Quindi, probabilmente hai sentito parlare del "Token di accesso". Il token di accesso è un tipo di token di identità che i siti Web social (come Facebook) utilizzano per eseguire operazioni per conto di un utente.

In altre parole, un’applicazione con un token di accesso valido può recuperare la tua lista di amici, postare sulla tua bacheca, ottenere i tuoi dettagli di base come e-mail, data di nascita, ecc. Ovviamente, devi consentire l’autorizzazione per tutti questi accessi. Senza la tua autorizzazione il token di accesso non può accedere alle informazioni degli utenti.

Quando si parla di API di Facebook, la loro API fornisce 2 tipi di token: token di accesso di breve durata e di lunga durata.

Il token di breve durata ha un breve lasso di tempo. Ciò significa che non puoi effettuare chiamate API dopo la scadenza del token. Riceverai la risposta non autorizzata alla scadenza del token. Ogni chiamata API richiede un token di accesso valido come parametro, quindi solo loro inviano una risposta indietro.

Una volta scaduto il token, devi chiedere all’utente di ripetere la procedura di accesso utilizzando la tua applicazione.

Ciò non ha senso. È come fare un processo ripetuto che all’utente non piace in realtà.

È qui che dovremmo usare il concetto di token di accesso longevo di Facebook. Un token longevo generalmente dura circa 60 giorni. Ed è molto meglio che usare token di breve durata.

Detto questo, vediamo come generare un token di accesso longevo di Facebook.

Registra un’applicazione

Per iniziare, devi prima registrare un’applicazione su Facebook Developers. Riceverai una guida passo passo su come registrare e configurare un’app qui.

Dopo aver registrato l’app, copia l’ID app e il segreto dell’app di cui abbiamo bisogno in un momento.

Come generare un token di accesso di lunga durata di Facebook

Genera un token di accesso di lunga durata

Ora abbiamo l’ID app e le chiavi segrete dell’app. Crea un file chiamato config.phpe aggiungi le nostre chiavi usando il metodo 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');
?>

Nel codice sopra, abbiamo specificato REDIRECT_URL su YOUR_SITE_URL/redirect.php. Quindi, crea il file redirect.php. Questo è il file in cui scriveremo il codice per generare un token di lunga durata.

Ma prima, dobbiamo creare un URL di accesso che reindirizzi un utente alla pagina di accesso di Facebook per autorizzare la tua app. Crea un file login.phpe aggiungi il codice seguente al suo interno.

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

Quando un utente fa clic sul collegamento per Accedi a Facebook, verrà reindirizzato alla pagina di accesso di Facebook. Una volta concesso il permesso alla tua app, l’utente reindirizzerà all’URL_TUO_SITO/redirect.php. In cambio, otteniamo un codice come parametro GET da Facebook. Utilizzando questo valore di codice generiamo un primo token di accesso di breve durata. E poi attraverso questo token di breve durata, generiamo un token di accesso di lunga durata.

Assicurati di avere l’estensione CURL abilitata sul tuo server, altrimenti il ​​nostro codice non funzionerà come previsto.

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

Questo è tutto! Ci auguriamo che tu sia venuto a conoscenza del processo di generazione di un token di accesso di lunga durata per l’API di Facebook. Per favore condividi i tuoi pensieri nella sezione commenti qui sotto.

Fonte di registrazione: 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