Protocollo Oauth

E adesso facciamo un esempio il codice l’ho preso direttamente dal sito di Google per le Api Key e si compone di due file che sono index.php e oauth2callback.php . Nel primo file sarete chiamati a fare l’accesso. Nel secondo invece dovrete fare il redirect.  Dovrete inoltre creare un progetto su Console Develper di Google , abilitare le api Key , indicare a google dove fare il redirect. E scaricare il file json. Una volta fatto questo andate sul sito di Google per le Applicazioni di prova e iscrivetevi al gruppo. Fate l’upload sul vostro sito dei file creati e il gioco è fatto.

 

I due file in questioni sono index.php

 

<?php
require_once __DIR__.'/vendor/autoload.php';

session_start();

$client = new Google_Client();
$client->setAuthConfig('client_secrets.json');
$client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY);

if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
 $client->setAccessToken($_SESSION['access_token']);
 $drive = new Google_Service_Drive($client);
 
 
 
 
 
$files = $drive->files->listFiles(array())->getItems();
 
 



 echo json_encode($files);
} else {
 $redirect_uri = 'http://noirsolutions.net/provaapi/oauth2callback.php';
 header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}

e oaut2callback.php

 $client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY);

if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
 $client->setAccessToken($_SESSION['access_token']);
 $drive = new Google_Service_Drive($client);

$files = $drive->files->listFiles(array())->getItems();

echo json_encode($files);
 } else {
 $redirect_uri = 'http://noirsolutions.net/provaapi/oauth2callback.php';
 header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
 }

Come potete vedere il tutto si basa sulla richiesta di autorizzazioni di Google Drive e sul fatto di utilizzare i Cookie Session di PHP per memorizzare il token di accesso. Se questo è in possesso della variabile di sessione $_SESSION[‘access_token’] allora si prosegue a fetchare gli elementi presenti in Google Drive altrimenti si va sul secondo file php che si occupa di inoltrare la richiesta per il token. Sulla mia pagina Youtube cmq trovate il video che vi spiega tutto per filo e per segno.