Acceder a gdrive con php ?

1.- Ir a el wizard con este link wizard

2.- Click en continuar (puede demorar hasta 30 segundos)

Selecci%25C3%25B3n 306
3.- Click en ir a credenciales
Selecci%25C3%25B3n 307
4.- Click en cancelar
Selecci%25C3%25B3n 308
5.- Seleccionar la tab “Pantalla de autorizacion de OAuth”, Colocar un nombre y Guardar
Selecci%25C3%25B3n 309
6.- Click en la tab “Credenciales” y click en crear credencial y seleccionar “ID de cliente OAuth”
Selecci%25C3%25B3n 311
7.- Seleccionamos Otro, Colocamos como nombre “Drive API Quickstart” y damos click en crear
Selecci%25C3%25B3n 313
8.- Damos click en aceptar para minimizar la ventana de nuestra credenciales
Selecci%25C3%25B3n 314
9.- Click en este boton y guardamos el archivo como “client_secret.json” (de preferencia en la misma carpeta donde este nuestro proyecto php). 
Selecci%25C3%25B3n 315
10.- En mi caso lo guardaria en “/var/www/html/php-gdrive3/client_secret.json”
Selecci%25C3%25B3n 316
11.- En la consola nos hubicamos en en el path de nuestro proyecto php con 
cd /var/www/html/php-gdrive3/
Despues ejecutamos este comando para instalar las librerias de google para php:
php composer.phar require google/apiclient:^2.0
Nuestro directorio se  va ver algo asi:
Selecci%25C3%25B3n 317
12.- Creamos un archivo llamado “quickstart.php” en el cual vamos a pegar el siguiente codigo 

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


define
('APPLICATION_NAME', 'Drive API PHP Quickstart');
define
('CREDENTIALS_PATH', '~/.credentials/drive-php-quickstart.json');
define
('CLIENT_SECRET_PATH', __DIR__ . '/client_secret.json');
// If modifying these scopes, delete your previously saved credentials
// at ~/.credentials/drive-php-quickstart.json
define
('SCOPES', implode(' ', array(
 
Google_Service_Drive::DRIVE_METADATA_READONLY)
));
if (php_sapi_name() != 'cli') {
 
throw new Exception('This application must be run on the command line.');
}
/**
 * Returns an authorized API client.
 * @return Google_Client the authorized client object
 */

function getClient() {
  $client
= new Google_Client();
  $client
->setApplicationName(APPLICATION_NAME);
  $client
->setScopes(SCOPES);
  $client
->setAuthConfig(CLIENT_SECRET_PATH);
  $client
->setAccessType('offline');

 
// Load previously authorized credentials from a file.
  $credentialsPath
= expandHomeDirectory(CREDENTIALS_PATH);
 
if (file_exists($credentialsPath)) {
    $accessToken
= json_decode(file_get_contents($credentialsPath), true);
 
} else {
   
// Request authorization from the user.
    $authUrl
= $client->createAuthUrl();
    printf
("Open the following link in your browser:n%sn", $authUrl);
   
print 'Enter verification code: ';
    $authCode
= trim(fgets(STDIN));

   
// Exchange authorization code for an access token.
    $accessToken
= $client->fetchAccessTokenWithAuthCode($authCode);

   
// Store the credentials to disk.
   
if(!file_exists(dirname($credentialsPath))) {
      mkdir
(dirname($credentialsPath), 0700, true);
   
}
    file_put_contents
($credentialsPath, json_encode($accessToken));
    printf
("Credentials saved to %sn", $credentialsPath);
 
}
  $client
->setAccessToken($accessToken);

 
// Refresh the token if it's expired.
 
if ($client->isAccessTokenExpired()) {
    $client
->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
    file_put_contents
($credentialsPath, json_encode($client->getAccessToken()));
 
}
 
return $client;
}
/**
 * Expands the home directory alias '~' to the full path.
 * @param string $path the path to expand.
 * @return string the expanded path.
 */

function expandHomeDirectory($path) {
  $homeDirectory
= getenv('HOME');
 
if (empty($homeDirectory)) {
    $homeDirectory
= getenv('HOMEDRIVE') . getenv('HOMEPATH');
 
}
 
return str_replace('~', realpath($homeDirectory), $path);
}
// Get the API client and construct the service object.
$client
= getClient();
$service
= new Google_Service_Drive($client);
// Print the names and IDs for up to 10 files.
$optParams
= array(
 
'pageSize' => 10,
 
'fields' => 'nextPageToken, files(id, name)'
);
$results
= $service->files->listFiles($optParams);
if (count($results->getFiles()) == 0) {
 
print "No files found.n";
} else {
 
print "Files:n";
 
foreach ($results->getFiles() as $file) {
    printf
("%s (%s)n", $file->getName(), $file->getId());
 
}
}
13.- Desde consola ejecutamos el siguiente comando:
php quickstart.php
14.- Nos va a pedir un “verification code” para el cual no va a dar una URL la que nosotros pegaremos en el navegador
Selecci%25C3%25B3n 318
15 .- Copiamos este codigo y lo pegamos en nuestra consola
Selecci%25C3%25B3n 319
16.- Una vez pegado el codigo de verificacion el sistema nos mustra 5 de los archivos que tenemos en gdrive
Selecci%25C3%25B3n 320

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *