Google Drive Api Php ((free)) May 2026

$client->useApplicationDefaultCredentials(); $client->addScope(Google_Service_Drive::DRIVE); 4.1 Listing Files

$chunkSize = 256 * 1024; // 256KB per chunk $client->setDefer(true); $request = $service->files->create($fileMetadata); $media = new Google_Http_MediaFileUpload( $client, $request, 'application/pdf', fopen('/path/largefile.pdf', 'r'), true, $chunkSize );

$client->setDefer(false);

composer require google/apiclient:^2.15

For backend cron jobs or scripts without user interaction: google drive api php

$service = new Google_Service_Drive($client); $results = $service->files->listFiles([ 'pageSize' => 50, 'fields' => 'files(id, name, mimeType, size, createdTime)', 'q' => "trashed = false" ]); foreach ($results->getFiles() as $file) echo "$file->getName() ($file->getId())\n";

// Save refresh token for future use if (!isset($accessToken['refresh_token'])) // Handle missing refresh token (may require revoking previous tokens) // 256KB per chunk $client-&gt

$fileMetadata = new Google_Service_Drive_DriveFile([ 'name' => 'report.pdf', 'parents' => ['root'] ]); $content = file_get_contents('/local/path/report.pdf'); $file = $service->files->create($fileMetadata, [ 'data' => $content, 'uploadType' => 'multipart', 'fields' => 'id' ]);