examples - Crea una subcarpeta usando google-drive-api y devuelve la identificación con PHP
google/apiclient (3)
Tal vez no es una manera elegante, pero este es mi método para obtener ID de carpeta:
$service = new Google_DriveService($client);
$files = $service->files->listFiles();
foreach ($files[''items''] as $item) {
if ($item[''title''] == ''your_folder_name'') {
$folderId = $item[''id''];
break;
}
}
Puedo crear la subcarpeta muy bien con el código a continuación, pero simplemente no puedo devolver la identificación.
Me gustaría obtener la identificación y / o el enlace a la carpeta para poder agregarlos a mi base de datos.
¡Actualmente, lo que sigue crea la carpeta, pero simplemente devuelve "//" como identificación!
Gracias por tu ayuda
<?php
if ($client->getAccessToken()) {
$file = new Google_DriveFile();
//Setup the Folder to Create
$file->setTitle(''Project Folder'');
$file->setDescription(''A Project Folder'');
$file->setMimeType(''application/vnd.google-apps.folder'');
//Set the ProjectsFolder Parent
$parent = new Google_ParentReference();
$parent->setId(''0B9mYBlahBlahBlah'');
$file->setParents(array($parent));
//create the ProjectFolder in the Parent
$createdFile = $service->files->insert($file, array(
''mimeType'' => ''application/vnd.google-apps.folder'',
));
// print_r($createdFile);
print "folder created sucessfully";
echo "folder id is" . $createdFile->id;
}
?>
Creo que los métodos se han actualizado, así que he usado nuevos métodos. Aquí está la biblioteca
if ($client->getAccessToken()) {
$file = new Google_Service_Drive_DriveFile();
$file->title = "New File By Bikash 111";
// To create new folder
$file->setMimeType(''application/vnd.google-apps.folder'');
// To set parent folder
$parent = new Google_Service_Drive_ParentReference();
$parent->setId(''0B5kdKIFfgdfggyTHpEQlpmcExXRW8'');
$file->setParents(array($parent));
$chunkSizeBytes = 1 * 1024 * 1024;
// Call the API with the media upload, defer so it doesn''t immediately return.
$client->setDefer(true);
$request = $service->files->insert($file);
// Create a media file upload to represent our upload process.
$media = new Google_Http_MediaFileUpload(
$client,
$request,
''text/plain'',
null,
true,
$chunkSizeBytes
);
$media->setFileSize(filesize(TESTFILE));
// Upload the various chunks. $status will be false until the process is
// complete.
$status = false;
$handle = fopen(TESTFILE, "rb");
while (!$status && !feof($handle)) {
$chunk = fread($handle, $chunkSizeBytes);
$status = $media->nextChunk($chunk);
}
//Here you will get the new created folder''s id
echo "<pre>";
var_dump($status->id);
exit;
}
$files = $service->files->listFiles(array(''maxResults'' => 1));
var_dump($files[''items''][0][''id'']);