Это здорово, спасибо @Morfinismo
всех сил пытаюсь создать папку в Team Drive с помощью клиентской библиотеки PHP API Google.
Я использую служебную учетную запись и выдаю себя за пользователя (себя), который является членом Team Drive и может просматривать содержимое диска. Однако, когда я создаю папку, она всегда создает ее в «Моем диске», а не в «Командном диске».
Попытка 1
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope("https://www.googleapis.com/auth/drive");
$client->setSubject('[email protected]');
$service = new Google_Service_Drive($client);
$folderId = '0AIuzzEYPQu9CUk9PVA';
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => 'New Test Folder',
'mimeType' => 'application/vnd.google-apps.folder',
'supportsTeamDrives' => true,
'parents' => ['0AIuzzEYPQu9CUk9PVA']
));
Попытка 2
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => 'New Test Folder',
'mimeType' => 'application/vnd.google-apps.folder',
'supportsTeamDrives' => true,
'teamDriveID' => '0AIuzzEYPQu9CUk9PVA'
));
ОБНОВЛЕНИЕ Попытка 3
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => 'Hello 123',
'supportsTeamDrives' => true,
'mimeType' => 'application/vnd.google-apps.folder',
'parents' => ['0AIuzzEYPQu9CUk9PVA']
));
$file = $service->files->create($fileMetadata, array(
'fields' => 'id'));
printf("Folder ID: %s\n", $file->id);
Попытка 3 выдает эту ошибку: Неустранимая ошибка: Uncaught Google_Service_Exception: {"error": {"errors": [{"domain": "global", "reason": "notFound", "message": "Файл не найден: 0AIuzzEYPQu9CUk9PVA . "," locationType ":" параметр "," местоположение ":" fileId "}]
Я прочитал все (ограничено)документация в отношении Team Drive и API и понимаю, что папка / файл в Team Drive может иметь только одного родителя (идентификатор Team Drive), поэтому я попробовал варианты родителя в виде массива и строки.
Папка создана правильно, просто не в том месте.
Если у кого-то есть идеи, я буду признателен за помощь.
Спасибо