Метаданные файла API Google Drive PHP v3

#php #file #google-drive-api #metadata

#php #файл #google-drive-api #метаданные

Вопрос:

Google указывает метаданные в https://developers.google.com/drive/api/v3/reference/files#resource .

Если я сделаю

 $parameters['fields']="*";
$files = $service->files->listFiles($parameters);
  

Тогда я действительно получаю почти все это.
Если я просто сделаю

 $files = $service->files->listFiles($parameters);
  

т.е. Без настройки полей я получаю подмножество, но некоторые поля, такие как createdTime, теперь пустые — и это то, что мне нужно.
Google рекомендует (https://developers.google.com/drive/api/v3/fields-parameter ) перечисляя только поля, необходимые для повышения производительности, но практически все, что я помещаю в поля, выдает ошибку «Неверный выбор поля» (проверено в https://developers.google.com/drive/api/v3/reference/about/get?apix_params={«fields»:»createdTime»})

 $parameters['fields']="name,parents,mimeType,filesize,createdTime,modifiedTime";
$files = $service->files->listFiles($parameters);
  

Есть какие-либо подсказки относительно того, как это работает?
Спасибо

Ответ №1:

Я считаю, что ваша цель заключается в следующем.

  • Вы хотите получить список файлов с помощью name,parents,mimeType,filesize,createdTime,modifiedTime API Drive v3 с googleapis для php.

Точки изменения:

  • Там нет полей filesize . В данном случае это size .
  • Когда значения полей name,parents,mimeType,size,createdTime,modifiedTime установлены для метода «Files: list» Drive API v3, пожалуйста, используйте files(name,parents,mimeType,size,createdTime,modifiedTime) . Я думаю, что причина вашего сообщения об ошибке Invalid field selection name связана с этим.

Когда вышеуказанные пункты будут отражены в вашем скрипте, это будет выглядеть следующим образом.

Модифицированный скрипт:

От:

 $parameters['fields']="name,parents,mimeType,filesize,createdTime,modifiedTime";
  

Для:

 $parameters['fields']="files(name,parents,mimeType,size,createdTime,modifiedTime)";
  

Ссылки:

Комментарии:

1. Да, я знал об этом и хотел принять, но я не вижу кнопки! Я искал страницу и никаких признаков ни одного!

2. Спасибо — этого определенно не было изначально, но теперь есть!

3. @Dave Torr Спасибо за ваш ответ.