✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Kuidas luua Facebooki kaua elanud juurdepääsuluba

16

Kas olete kunagi API ülesannetega kokku puutunud? Siis ilmselt kuulsite ‘Juurdepääsumärgist’. Juurdepääsuluba on mingi identiteedimärgi sotsiaalne veebisait (nt Facebook), mida kasutatakse kasutaja nimel toimingute tegemiseks.

Teisisõnu, kehtiva juurdepääsumärgiga rakendus saab tuua teie sõbraloendi, postitada oma seinale, hankida teie põhiandmed, näiteks e-posti aadress, sünnikuupäev jne. Loomulikult peate lubama kõigi nende juurdepääsude jaoks loa. Ilma teie loata ei pääse juurdepääsuluba kasutajate teabele juurde.

Rääkides Facebooki API-st, pakub nende API kahte tüüpi märke: lühi- ja pikaealisi juurdepääsumärke.

Lühiajalisel märgil on lühike ajavahemik. See tähendab, et pärast loa aegumist ei saa te API-kõnesid teha. Pärast loa aegumist saate volitamata vastuse. Iga API-kõne nõuab parameetrina kehtivat juurdepääsuluba, seejärel saadavad vastuse ainult need.

Kui luba on aegunud, peate paluma kasutajal oma rakenduse abil uuesti sisselogimisprotsess läbi viia.

Sellel pole mõtet. See on omamoodi korduv protsess, mis kasutajale tegelikult ei meeldi.

Siin peaksime kasutama Facebooki pikaajalise juurdepääsuloa mõistet. Pikaealine märk kestab tavaliselt umbes 60 päeva. Ja see on palju parem kui lühiajaliste žetoonide kasutamine.

Seda öeldes vaatame, kuidas luua Facebooki pikaealine juurdepääsuluba.

Registreerige rakendus

Alustamiseks peate kõigepealt registreerima rakenduse Facebooki arendajates. Saad samm-sammult juhis selle kohta, kuidas registreerida ja seadistada rakenduse siin.

Kui olete rakenduse registreerinud, kopeerige rakenduse ID ja rakenduse saladus, mida me hetkega vajame.

Kuidas luua Facebooki kaua elanud juurdepääsuluba

Looge kaua elatud juurdepääsuluba

Nüüd on meil rakenduse ID ja rakenduse salajased võtmed. Looge fail nimega config.phpja lisage meie võtmed, kasutades meetodit 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');
?>

Ülalolevas koodis määrasime REDIRECT_URL saidile YOUR_SITE_URL / redirect.php. Niisiis, looge fail redirect.php. See on fail, kuhu kirjutame koodi kauaaegse loa genereerimiseks.

Kuid enne seda peame looma sisselogimise URL-i, mis suunab kasutaja teie rakenduse volitamiseks Facebooki sisselogimislehele. Looge fail login.phpja lisage sellesse allolev kood.

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

Kui kasutaja klõpsab linki sisselogimiseks Facebooki, suunab ta end Facebooki sisselogimislehele. Kui nad lubavad teie rakendusele loa, suunab kasutaja saidile YOUR_SITE_URL / redirect.php. Vastutasuks saame Facebooki GET-parameetrina koodi. Selle koodiväärtuse abil genereerime esimese lühiajalise juurdepääsuloa. Ja siis genereerime selle lühiajalise loa kaudu pikaealise juurdepääsuloa.

Veenduge, et teie serveris oleks CURL-i laiendus lubatud, muidu ei tööta meie kood ootuspäraselt.

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

See selleks! Loodetavasti saite teada pikaealise juurdepääsuloa loomise protsessist Facebooki API jaoks. Palun jagage oma mõtteid allpool olevas kommentaaride jaotises.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem