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