Как получить список файлов по папке в Google Диске API

Я пытаюсь создать веб-интерфейс для пользователей, чтобы перемещаться по его/ее Google Диску и выбирать один или несколько документов, на которые можно будет ссылаться позже на веб-сайте, из БД. В настоящее время я строю веб-интерфейс с использованием .NET. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти единственную функцию для получения списка файлов по идентификатору папки. Я пытался использовать:

... www.googleapis.com/drive/v2/files/BB0CHANGEDIDF5waGdzbUQ5aWs/children

… Но это даст только ссылочный идентификатор файлов для файлов в папке (так называемый дочерний ресурсный элемент), что означает, что я должен пройти по этим файлам и создать вызов для каждого из них, чтобы получить все метаданные Мне нужно для моего интерфейса. К сожалению..

... www.googleapis.com/drive/v2/files

... будет список всех моих файлов без параметров фильтрации по папкам. Я хотел бы знать, существует ли эффективный способ извлечения папки & список файлов из одного обращения к серверу Drive для определенной папки.

Я также попробовал это (на основе ответа на похожую проблему): Я использую Fiddler для прямых звонков в API. Когда я использую это, чтобы сделать звонок "

...

www.googleapis.com/drive/v2/files?q='BB0CHANGEDIDF5waGdzbUQ5aWsЯ получаю сообщение об ошибке:

{
 "error": {
  "errors": [
   {wrongID
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid Value",
    "locationType": "parameter",
    "location": "q"
   }
  ],
  "code": 400,
  "message": "Invalid Value"
 }
}

Даже при использовании тестовой страницы Google этого не происходит. Похоже, что конечная точка "files" не принимает никаких параметров.

Должен быть способ достичь этого!

Спасибо за помощь

Ответы

Ответ 1

Вы можете просто использовать files/list с родительским запросом;

GET https://www.googleapis.com/drive/v2/files?q='BB0CHANGEDIDF5waGdzbUQ5aWs'+in+parents&key={YOUR_API_KEY}

Ответ 2

Вот как получить определенные поля файлов в папке с помощью v3 API:

https://www.googleapis.com/drive/v3/files?q="folderId"+in+parents&fields=files(md5Checksum,+originalFilename)
//

Замените "folderId" на идентификатор папки.

Вы можете использовать &fields=files(*), чтобы получить все поля файла.