Siedzę już przy tym kilka dni i ciągle nie wychodzi. Ktoś ma jakiś pomysł co tu jest źle? Plik chyba zostaje załadowany na serwer bo jak użyję metody $this->googleDrive->files->listFiles()->getFiles(); to widnieje na liście, ale jak zaloguję się na dysk google za pomocą przeglądarki internetowej to go tam nie ma. Nie działa też metoda emptyTrash(), umieściłem w koszu jeden plik (ręcznie po zalogowaniu na dysk z przeglądarki) i użyłem tej metody, i nic się nie stało. Nie pokazują się też żadne błędy. Używam tej biblioteki:
https://packagist.org/packages/google/apiclient<?php
namespace App;
use Google_Client, Google_Service_Drive, Google_Service_Drive_DriveFile;
class Cloud
{
private $googleDrive;
public function __construct()
{
putenv('GOOGLE_APPLICATION_CREDENTIALS='.DIR['APP'].'credentials.json'); $googleClient = new Google_Client();
$googleClient->addScope(Google_Service_Drive::DRIVE_FILE);
$googleClient->addScope(Google_Service_Drive::DRIVE);
$googleClient->useApplicationDefaultCredentials();
$this->googleDrive = new Google_Service_Drive($googleClient);
$file = new Google_Service_Drive_DriveFile();
$file->setName(uniqid().'.png'); $file->setDescription('test');
$file->setMimeType('image/png');
$createdFile = $this->googleDrive->files->create
(
$file,
[
'data' => $data,
'mimeType' => 'image/png',
'uploadType' => 'multipart'
]
);
$this->googleDrive->files->emptyTrash();
}
}