繁体   English   中英

Google Drive PHP API 客户端:在共享驱动器中创建文件夹

[英]Google Drive PHP API Client: Creating a folder in a shared drive

我正在尝试在新创建的共享驱动器中创建一个文件夹,使用 Google 的 PHP API 客户端和以下代码(注意 API 连接和服务都正常工作):

//Create the drive
$drive = new Google_Service_Drive_Drive();
$drive->setName( "Drive Name" );

$create_drive_response = $service->drives->create( uniqid(), $drive );
$drive_id = $create_drive_response->id;     


//Create the folder
$folder = new Google_Service_Drive_DriveFile();
$folder->setName ( "Folder Name" );
$folder->setMimeType ( 'application/vnd.google-apps.folder' );
$folder->setDriveId ( $drive_id );

$optional_params = [ 'supportsAllDrives' => true];

$create_folder_response = $service->files->create( $folder, $optional_params );
$folder_id = $create_folder_response->id()

驱动器创建没有问题,文件夹创建没有问题,但无论我做什么,文件夹总是在我的驱动器的根目录中创建,而不是在新创建的驱动器中。 响应中没有错误或警告。

文档没有在任何地方提到这一点,但是在共享驱动器中创建文件夹或文件时,您需要使用$folder->setParents ( $drive_id );将“driveId”属性和“parents”属性设置为共享驱动器的 ID $folder->setParents ( $drive_id );

//Create the drive
$drive = new Google_Service_Drive_Drive();
$drive->setName( "Drive Name" );

$create_drive_response = $service->drives->create( uniqid(), $drive );
$drive_id = $create_drive_response->id;     


//Create the folder
$folder = new Google_Service_Drive_DriveFile();
$folder->setName ( "Folder Name" );
$folder->setMimeType ( 'application/vnd.google-apps.folder' );
$folder->setDriveId ( $drive_id );
$folder->setParents ( $drive_id );

$optional_params = [ 'supportsAllDrives' => true];

$create_folder_response = $service->files->create( $folder, $optional_params );
$folder_id = $create_folder_response->id();

有解决方案: https : //www.easywayb.com/discussion/create-google-shared-drive-with-google-api-in-php/

您需要创建团队云端硬盘。

$folder_name = 'EasyWayB Drive';
$metadata = new Google_Service_Drive_TeamDrive();
$metadata->setName($folder_name);
$resp = $service->teamdrives->create(uniqid(), $metadata);
$teamdrive_id = $resp->id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM