✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як створити маркер довготривалого доступу до Facebook

21

Ви коли-небудь стикалися із завданнями API? Тоді, напевно, ви чули про "маркер доступу". Токен доступу – це свого роду ідентифікаційний маркер соціальних веб-сайтів (як Facebook), який використовує для виконання операцій від імені користувача.

Іншими словами, програма з дійсним маркером доступу може отримати ваш список друзів, розмістити на вашій стіні, отримати ваші основні дані, такі як електронна пошта, дата народження тощо. Звичайно, вам потрібно надати дозвіл на всі ці звернення. Без вашого дозволу маркер доступу не може отримати доступ до інформації користувачів.

Коли мова йде про Facebook API, їх API надає 2 типи токенів: короткочасні та довговічні маркери доступу.

Короткоживуча лексема має короткий проміжок часу. Це означає, що ви не можете здійснювати виклики API після закінчення терміну дії маркера. Ви отримаєте несанкціоновану відповідь після закінчення терміну дії маркера. Кожен виклик API вимагає дійсного маркера доступу як параметр, тоді лише вони відправляють відповідь у відповідь.

Після закінчення терміну дії маркера вам потрібно буде попросити користувача повторно пройти процес входу, використовуючи вашу програму.

Це не має сенсу. Це своєрідний повторний процес, який користувачеві насправді не подобається.

Тут слід використовувати концепцію довговічного маркера доступу до Facebook. Довговічний жетон зазвичай триває близько 60 днів. І це набагато краще, ніж використання короткочасних жетонів.

Сказавши це, давайте подивимось, як створити маркер доступу до довгожителів Facebook.

Зареєструйте заявку

Для початку спочатку потрібно зареєструвати програму на розробниках Facebook. Ви отримаєте крок за кроком керівництво про те, як зареєструвати і налаштувати додаток тут.

Як тільки ви зареєструєте програму, скопіюйте ідентифікатор програми та секрет програми, які нам потрібні за мить.

Як створити маркер довготривалого доступу до Facebook

Створіть довговічний маркер доступу

Тепер у нас є ідентифікатор програми та секретні ключі програми. Створіть файл із назвою config.phpта додайте наші ключі за допомогою методу 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');
?>

У наведеному вище коді ми вказали REDIRECT_URL до YOUR_SITE_URL / redirect.php. Отже, створіть файл redirect.php. Це файл, в якому ми напишемо код для генерації довговічного маркера.

Але перед цим нам потрібно створити URL-адресу для входу, яка перенаправляє користувача на сторінку входу в Facebook для авторизації вашого додатка. Створіть файл login.phpі додайте в нього код нижче.

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

Коли користувач натискає посилання для входу в Facebook, він перенаправляє на сторінку входу в Facebook. Після того, як вони нададуть дозвіл на ваш додаток, користувач перенаправить вас на YOUR_SITE_URL / redirect.php. Натомість ми отримуємо код як параметр GET від Facebook. Використовуючи це значення коду, ми генеруємо перший короткочасний маркер доступу. А потім за допомогою цього короткочасного токена ми генеруємо маркер доступу з довгожителем.

Переконайтеся, що на вашому сервері увімкнено розширення CURL, інакше наш код не працюватиме належним чином.

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

Це воно! Ми сподіваємось, ви дізналися про процес створення токена довготривалого доступу для API Facebook. Будь ласка, поділіться своїми думками в розділі коментарів нижче.

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі