C # GoogleDrive API V3 список файлов, свойство "родители" всегда нулевое - PullRequest
0 голосов
/ 02 февраля 2019

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

В чем может быть причина?Я думал, что это ограниченный параметр "scopes", но при расширении прав результат тот же.

Итак, я подключаюсь:

                string[] scopes = new string[] { DriveService.Scope.Drive, DriveService.Scope.DriveFile, DriveService.Scope.DriveMetadata, DriveService.Scope.DriveAppdata};
                var clientId = "id";      // From https://console.developers.google.com
                var clientSecret = "secret";          // From https://console.developers.google.com
                var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets
                {
                    ClientId = clientId,
                    ClientSecret = clientSecret
                },
                scopes,
                Environment.UserName,
                CancellationToken.None,
                new FileDataStore("MyAppsToken111")).Result;

                DriveService service = new DriveService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName = "MyAppName",
                });

Итак, я получаю файлы, например:

            var list = service.Files.List().Execute().Files;

            foreach (var file in list)
            {
                Console.WriteLine(file.Parents == null);//always: true == (file.Parents == null)
            }

Я уверен, что хотя бы один файл должен иметь ненулевое родительское свойство.Подскажите, пожалуйста, что я пропустил?

ПУНКТ ФАЙЛА ЭКРАНА ИЗ СПИСКА

1 Ответ

0 голосов
/ 18 мая 2019

Попробуйте установить запрос следующим образом:

FilesResource.ListRequest listRequest = service.Files.List();
listRequest.Fields = "*";

После этого вы можете использовать foreach: var list = listRequest.Execute().Files;

...