[英]403 : Insufficient Permission while creating an folder in google drive api php
[英]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.