Service Account aanmaken
Onder het iAM het betreffende service account de volgende rechten toekennen:

De betreffende rollen erven over in de Storage van Google Cloud. Controleer dit in de Storage Browser per instantie:

Installeer de laravel-google-cloud-storage module van Suberbalist:
composer require superbalist/laravel-google-cloud-storage
Voer de provider toe:
'providers' => [
// ...
Superbalist\LaravelGoogleCloudStorage\GoogleCloudStorageServiceProvider::class,
]
Registreer de betreffende Google Cloud storage bucket als een "disk" in Laravel onder config/filesystems.php:
'gcs' => [
'driver' => 'gcs',
'project_id' => env('GOOGLE_CLOUD_PROJECT_ID'),
'storage_api_uri' => env('GOOGLE_CLOUD_STORAGE_API_URI')
'bucket' => env('GOOGLE_CLOUD_STORAGE_BUCKET'),
// optional: place for local dev the iAM service-account.json in
// the root of the Laravel project
'key_file' => env('GOOGLE_CLOUD_KEY_FILE', file_exists(__DIR__.'/../service-account.json') ? __DIR__.'/../service-account.json' : ''),
// optional: /default/path/to/apply/in/bucket
'path_prefix' => env('GOOGLE_CLOUD_STORAGE_PATH_PREFIX'),
]
Gebruik:
$disk = Storage::disk('gcs');
// create a file
$disk->put('avatars/1', $fileContents);
// check if a file exists
$exists = $disk->exists('file.jpg');
// get file modification date
$time = $disk->lastModified('file1.jpg');
// copy a file
$disk->copy('old/file1.jpg', 'new/file1.jpg');
// move a file
$disk->move('old/file1.jpg', 'new/file1.jpg');
// get url to file
$url = $disk->url('folder/my_file.txt');
// Set the visibility of file to public
$disk->setVisibility('folder/my_file.txt', 'public');
// See https://laravel.com/docs/5.3/filesystem for full list of available functionality
# GOOGLE GLOUD - INSTANCE
GOOGLE_CLOUD_PROJECT_ID=de-maastricht-studie-api
GOOGLE_CLOUD_STORAGE_BUCKET=staging.de-maastricht-studie-api.appspot.com
# GOOGLE GLOUD - STORAGE
APP_STORAGE=/tmp
VIEW_COMPILED_PATH=/tmp
FILESYSTEM_DRIVER=gcs
MEDIA_DISK=gcs
# GOOGLE GLOUD - MYSQL SETTINGS
DB_HOST= #GLOBAL_IP_ADDRESS_MYSQLHOST
DB_DATABASE= #DATABASE_NAME
DB_USERNAME=root
DB_PASSWORD= #MYSQL ROOT PASSWORD
DB_CONNECTION=mysql
DB_PORT=3306