using Google.Apis.Auth.OAuth2; using Google.Apis.Services; using Google.Apis.Sheets.v4; namespace WebAPI; public class GoogleSheetsHelper { public SheetsService? Service { get; private set; } private const string ApplicationName = "Diuna"; private static readonly string[] Scopes = [SheetsService.Scope.Spreadsheets]; public GoogleSheetsHelper() { InitializeService(); } private void InitializeService() { var credential = GetCredentialsFromFile(); Service = new SheetsService(new BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = ApplicationName }); } private static GoogleCredential GetCredentialsFromFile() { // ReSharper disable once RedundantAssignment var fileName = "client_secrets.json"; #if DEBUG fileName = "client_secrets.Development.json"; #endif using var stream = new FileStream(fileName, FileMode.Open, FileAccess.Read); var credential = GoogleCredential.FromStream(stream).CreateScoped(Scopes); return credential; } }