Google Drive Manager
composer require tbetool/google-drive-manager
https://www.googleapis.com/auth/drive
$drive = new GoogleDriveManager('client_id', 'client_secret', 'access_token');
$drive->setAccessToken('access_token');
$response = $drive->listFolder();
response will contain
[
(int) 0 => [
'id' => '1YoSEbFDSOejkZmtPmfOyBIoWODhllPjJ',
'name' => 'Selling Digital Items Modules to be updated ',
'kind' => null,
'type' => 'folder',
'created_time' => null,
'file_extension' => null,
'mime_type' => null,
'modified_time' => null,
'original_filename' => null,
'size' => null
],
]
$drive->search('query');
Response:
[
(int) 0 => [
'id' => '1YoSEbFDSOejkZmtPmfOyBIoWODhllPjJ',
'name' => 'Selling Digital Items Modules to be updated ',
'kind' => null,
'type' => 'folder',
'created_time' => null,
'file_extension' => null,
'mime_type' => null,
'modified_time' => null,
'original_filename' => null,
'size' => null
],
]
currently in development
$drive->download('item_id', $save_to_path);
save_to_path should be absolute local path where to save file
Response:
[
'id' => '1lJNyeIx5BpyK88Vj31YFG6WVVNY_g9Hj',
'name' => 'file.zip',
'kind' => 'drive#file',
'type' => 'application/zip',
'created_time' => null,
'file_extension' => null,
'mime_type' => 'application/zip',
'modified_time' => null,
'original_filename' => null,
'size' => null,
'download_path' => '/home/path/to/local/save/to/file.zip'
]
$drive->createFolder('folder name', $parent_folder_id);
if $parent_folder_id is not provided, folder will be created in root folder Response:
[
'id' => '1Q6fozdc2JK32HO2nimSKz1lQ0AVxl413',
'name' => 'New Folder 123',
'kind' => 'drive#file',
'type' => 'folder',
'created_time' => null,
'file_extension' => null,
'mime_type' => 'application/vnd.google-apps.folder',
'modified_time' => null,
'original_filename' => null,
'size' => null
]
$drive->upload('file/path/', $folder_id);
file_path must be absolute path of local file
if folder_id is not provided, file will be uploaded to root folder
Response:
[
'id' => '1Q6fozdc2JK32HO2nimSKz1lQ0AVxl413',
'name' => 'New Folder 123',
'kind' => 'drive#file',
'type' => 'folder',
'created_time' => null,
'file_extension' => null,
'mime_type' => 'application/vnd.google-apps.folder',
'modified_time' => null,
'original_filename' => null,
'size' => null
]
$drive->move($file_id, $folder_id);
both file_id and folder_id are required.
Response:
[
'id' => '1Q6fozdc2JK32HO2nimSKz1lQ0AVxl413',
'name' => 'New Folder 123',
'kind' => 'drive#file',
'type' => 'folder',
'created_time' => null,
'file_extension' => null,
'mime_type' => 'application/vnd.google-apps.folder',
'modified_time' => null,
'original_filename' => null,
'size' => null
]