Install-Package Google.Apis.Storage.v1beta2
using System; using System.IO; using System.Security.Cryptography.X509Certificates; using Google.Apis.Auth.OAuth2; using Google.Apis.Services; using Google.Apis.Storage.v1beta2; namespace GoogleCloudStorageAPIClient { class Program { static void Main(string[] args) { const string bucket = "pubsite_prod_rev_XXXXXXXXXXXXXXXXXXXXX"; // gs:// const string email = "YYYYYYYYYYYYYYYYYYYYYY@developer.gserviceaccount.com"; var certificate = new X509Certificate2( @"< .p12 >", "notasecret", X509KeyStorageFlags.Exportable ); var credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(email) { Scopes = new[] { StorageService.Scope.DevstorageReadOnly } }.FromCertificate(certificate)); var service = new StorageService(new BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = "GoogleReportDownloader" }); var listRequest = service.Objects.List(bucket); var list = listRequest.Execute(); if (list != null) { Console.WriteLine("File count = {0}\r\n", list.Items.Count); foreach (var item in list.Items) { Console.WriteLine(item.Name); // var getRequest = service.Objects.Get(bucket, item.Name); var objectName = string.Format("{0}\\{1}", @"C:\!temp\", item.Name); using (var fileStream = new FileStream(objectName, FileMode.Create, FileAccess.Write)) { getRequest.Download(fileStream); } } } } } }
Source: https://habr.com/ru/post/236149/
All Articles