Problemas con la librería de Google Drive

Juan López
01 de Marzo del 2017

Buenas gente

 

Un placer unirme a esta comunidad de programadores, espero ir colaborando en lo que pueda. Dicho esto voy al problema que tengo. Estoy desarrollando un sistema de backups de una web hacia Google Drive y si bien me funcionaba perfectamente, hace unos días esto ha cambiado. Me han comentado que es posible que hayan cambiando los sistemas de certificados o algo de las SSL del servidor, no sé si tendrá que ver con mi problema, pero el error que me saca en esencia es éste:

 

PHP Fatal error: Uncaught exception 'Google_Service_Exception' with message '{
"error": "unauthorized_client",
"error_description": "Client is unauthorized to retrieve access tokens using this method."

 

He probado a cambiar las credenciales y el auth0, pero sigue sin ir, a alguien se le ocurre que me puede estar pasando con los token? Os pego mi código a continuación:

<?php

require_once ('google/vendor/autoload.php');

putenv('GOOGLE_APPLICATION_CREDENTIALS=23.json');

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setApplicationName("MyApp");
$client->setScopes(['https://www.googleapis.com/auth/drive']);
$client->setSubject('*****@gmail.com');

$service = new Google_Service_Drive($client);

//Create a new folder
$files= array();
$dir = dir('tmp');
while ($file = $dir->read()) {
	if ($file != '.' && $file != '..') {
		$files[] = $file;
	}
}
$dir->close();
   
$file = new Google_Service_Drive_DriveFile();
foreach ($files as $file_name) {
	$file_path = 'tmp/'.$file_name;
	$file->setName($file_name);
	$file->setDescription('Drive BK');
	$file->setMimeType('application/tar.gz');
	$createdFile = $service->files->create($file, array(
	'data' => file_get_contents($file_path),
	'mimeType' => 'application/zip',
	'uploadType' => 'media'
	));
}

$dir = dir('tmp');
chdir('tmp');

while ($file = $dir->read()) {
	if ($file != '.' && $file != '..') {
		$t=unlink($file);
	}
}
$dir->close();
?>

Ojalá me podáis ayudar y gracias a todos los que se interesen por la pregunta.

Saludos