Drive API v3, C # - иерархия папок

У меня есть приложение, которое взаимодействует с Диском (в частности, TeamDrives), и мне нужно создать иерархическую структуру папок внутри данного TeamDrive.

Я могу перечислить свои доступные TeamDrives, а затем получить файлы (фильтр: mime-тип папок) внутри них, но, похоже, нет parent информации для каждой папки, поэтому моя структура выглядит «плоской».

Я понимаю, что на Диске папка - это просто ярлык, и что «подпапки» могут быть общими в нескольких местах, поэтому я позабочусь об этом, но я просто хочу иметь возможность создать дерево каталогов в моем приложении.

например структура, которую я хочу показать в своем приложении:

  • Team Drive Name
    • Main Folder
      • Sub Folder

Код моего "списка":

var request = service.Files.List();
request.Corpora = "teamDrive";
request.IncludeTeamDriveItems = true;
request.SupportsTeamDrives = true;
request.OrderBy = "name";
request.PageSize = 100;

request.TeamDriveId = "[teamDriveId]";
request.Q = "mimeType='application/vnd.google-apps.folder'";

Это дает мне для данного 'teamDriveId':

  • Основная папка
  • Подпапка

parent на Sub Folder результат null.


person scgough    schedule 08.04.2019    source источник


Ответы (2)


Вы не указали, какие поля вы хотите в ответе, поэтому вы получаете значение по умолчанию, которое не включает информацию о родителях. Попробуйте добавить request.Fields = "*". Я не знаком с используемой вами библиотекой, поэтому у меня может быть неправильный синтаксис - проверьте еще раз.

Вы также можете найти этот полезный Как в скрипте Google Apps получить все подпапки, все подпапки, все подпапки и т. Д.?

person pinoyyid    schedule 08.04.2019

Как подсказал pinoyyid, вам нужно добавить в свой запрос «Поля».

request.Fields = "name, id, parents";

https://developers.google.com/drive/api/v3/folder

person Charlie    schedule 08.04.2019