4

Мне нужно получить список файлов с Google Drive с проектом asp.net mvc4. Диск Google используется в качестве хранилища файлов для сайта. Мой код:Когда я запрашиваю список файлов google.api.drive, я возвращаю один файл в формате pdf «Как начать с диска»

 const string email = "xxx"; 
     string path = AppDomain.CurrentDomain.BaseDirectory + "file.p12"; 
     var certificate = new X509Certificate2(path,"notasecret", X509KeyStorageFlags.Exportable); 
     var credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(email){ 
      Scopes = new[] { DriveService.Scope.Drive } 

     }.FromCertificate(certificate)); 
     var service = new DriveService(new BaseClientService.Initializer 
     { 
      HttpClientInitializer = credential, 
      ApplicationName="hikes" 
     }); 
     List<File> result = new List<File>(); 
     FilesResource.ListRequest request = service.Files.List(); 
     do 
     { 
       FileList files = request.Execute(); 
       result.AddRange(files.Items); 
       request.PageToken = files.NextPageToken; 

     } while (!String.IsNullOrEmpty(request.PageToken)); 

Пробовал на двух разных счетах. Результатом является только один PDF-файл под названием «Как начать работу с Диском». Как получить доступ к файлам на моем диске?

+0

Почему вы не используете https://cloud.google.com/storage/ и его клиентскую библиотеку - https://developers.google.com/api-client-library/dotnet/apis/storage/v1? – peleyal

+0

У меня есть еще один сервис, они используют Google Drive. Мой клиент сохраняет файлы из почты Google на Google Диске. Есть файлы, которые необходимо показать на страницах сайта. –

+0

Пробовал ли вы обращаться к этим файлам с помощью регулярных потоков и НЕ СЛУЖИТЬ СЧЕТ? Я не знаком с учетной записью службы, но вы можете заполнить поле «Пользователь», https://code.google.com/p/google-api-dotnet-client/source/browse/Src/GoogleApis.Auth. DotNet4/OAuth2/ServiceAccountCredential.cs? R = eb702f917c0e18fc960d077af132d0d83bcd6a88 # 62 – peleyal

ответ

6

Вам необходимо поделиться хотя бы одной папкой со своими учетными записями Google с учетной записью учетной записи службы, созданной в консоли Google (416132713247-aimfq7 ... [email protected]): Щелкните правой кнопкой мыши> Поделиться с> заполнить email & разрешения.

+0

Также измените параметры запроса на 'q = sharedWithMe', чтобы отобразить общий элемент для этой учетной записи службы. – checksum