Laravel 9.
Используется плагин spatie/laravel-google-cloud-storage~2.0 для загрузки на google storage.
Конфиг в filesystems.php (все данные и доступы к json с данными проверены несколько раз):
'gcs' => [
'driver' => 'gcs',
'key_file_path' => env('GOOGLE_CLOUD_KEY_FILE', '/var/www/bucket-loader.json'), // optional: /path/to/service-account.json
'key_file' => [], // optional: Array of data that substitutes the .json file (see below)
'project_id' => env('GOOGLE_CLOUD_PROJECT_ID', 'your-project-id'), // optional: is included in key file
'bucket' => env('GOOGLE_CLOUD_STORAGE_BUCKET', 'your-bucket'),
'path_prefix' => env('GOOGLE_CLOUD_STORAGE_PATH_PREFIX', 'test'), // optional: /default/path/to/apply/in/bucket
'apiEndpoint' => env('GOOGLE_CLOUD_STORAGE_API_URI', null), // see: Public URLs below
'visibility' => 'public', // optional: public|private
'metadata' => ['cacheControl'=> 'public,max-age=86400'], // optional: default metadata
],
Код загрузки изображения, идет получения изображения, генерируется изображение, а после загружается на google storage:
$file = $request->file('file');
$name= uniqid().".".$file->getClientOriginalExtension();
$disk = Storage::disk('gcs');
var_dump($disk->put($name, file_get_contents($file)));
После попытки загрузки ответ приходит false, не ошибка авторизации, ничего более, просто false.
Права у сервисного аккаунта который подключен к нужному ведру выставлены вот такие:
Storage Admin
Storage Object Admin
Storage Object Creator
Storage Object Viewer
Не совсем понимаю почему не загружаются файлы.