Google Drive v3 - Как проверить, находится ли папка в Root? - PullRequest
1 голос
/ 19 мая 2019

Я хочу иметь возможность определить, находится ли папка в корневой папке.Документация говорит, что используйте «root» вместо id для запросов, но это мне здесь не поможет.Если вы посмотрите на «родителей» любой папки в корневой папке, она по-прежнему показывает фактический идентификатор, а не буквальный «корень».Как можно получить этот идентификатор?

Я вижу, что в 'About' был метод для получения корневого идентификатора в v2, но его нет в v3.

Я использую .NET, норешение на любом языке должно быть в порядке.Спасибо.

1 Ответ

1 голос
/ 20 мая 2019

Как насчет этого ответа?Из вашего вопроса я подумал, что поиск папок прямо в корневой папке может стать вашим решением.Если мое понимание правильное, как насчет использования метода files.list Drive API?В этом случае я думаю, что существует 2 шаблона.

Шаблон 1:

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

  • 'root' in parents and mimeType = 'application/vnd.google-apps.folder' используется в качестве запроса для поиска файлов.

Конечная точка:

GET https://www.googleapis.com/drive/v3/files?q='root'+in+parents+and+mimeType+%3D+'application%2Fvnd.google-apps.folder'

Пример сценария:

FilesResource.ListRequest listRequest = service.Files.List();
listRequest.Q = "'root' in parents and mimeType = 'application/vnd.google-apps.folder'";
var files = listRequest.Execute();

Шаблон 2:

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

  • 'root' in parents and mimeType = 'application/vnd.google-apps.folder' and name = 'folderName' используется в качестве запроса для поиска файлов.

Конечная точка:

GET https://www.googleapis.com/drive/v3/files?q='root'+in+parents+and+mimeType+%3D+'application%2Fvnd.google-apps.folder'+and+name+%3D+'folderName'

Пример сценария:

FilesResource.ListRequest listRequest = service.Files.List();
listRequest.Q = "'root' in parents and mimeType = 'application/vnd.google-apps.folder' and name = 'folderName'";
var files = listRequest.Execute();

Ссылки:

Если я неправильно понял ваш вопрос, и это был не тот результат, которого вы хотите, я прошу прощения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...