Создайте пустой файл в существующей папке Google Диска — V3 — PHP

#php #google-api #google-drive-api

#php #google-api #google-drive-api

Вопрос:

Я пытаюсь создать пустую электронную таблицу внутри существующей папки (т.Е. Внутри GOOGLE_DRIVE_FOLDER_ID), но мой код, похоже, игнорирует идентификатор папки и продолжает создавать пустую электронную таблицу в корне моего Google Диска вместо создания пустого файла внутри папки, как указано:

 $file->setParents('GOOGLE_DRIVE_FOLDER_ID');
 

Ниже приведен дополнительный код для контекста:

 $client = new Google_Client();
$client->setScopes(Google_Service_Drive::DRIVE, Google_Service_Sheets::SPREADSHEETS);

...

$service = new Google_Service_Drive($client);
$file = new Google_Service_Drive_DriveFile();
$file->setParents('GOOGLE_DRIVE_FOLDER_ID');
$file->setMimeType('application/vnd.google-apps.spreadsheet');
$file->setName('Test File');

$results = $service->files->create($file);
 

Я не могу найти ни одного подходящего примера документации по PHP-коду для API Google Drive V3.
Возможно, это проблема с разрешениями?

Мне была бы очень нужна помощь, поскольку я боролся с этим кодом. Спасибо!

Ответ №1:

Я думаю, что ваши возможности можно использовать в вашей ситуации. Но я думаю, что setParents('GOOGLE_DRIVE_FOLDER_ID') это необходимо изменить. parents представляет собой 1-мерный массив. Итак, как насчет изменения следующим образом?

От:

 $file->setParents('GOOGLE_DRIVE_FOLDER_ID');
 

Для:

 $file->setParents(array('GOOGLE_DRIVE_FOLDER_ID'));
 

Ссылка: