Пример #1
0
        public Spreadsheet(string spreadsheetId, string key)
        {
            SpreadsheetId = spreadsheetId;

            var credential = GoogleCredential.FromJson(key).CreateScoped(SheetsService.Scope.Spreadsheets);

            var service = new SheetsService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName       = Config.APP_NAME,
            });

            Resource = service.Spreadsheets;
        }
Пример #2
0
        public Spreadsheet(string spreadsheetId, string keyPath)
        {
            SpreadsheetId = spreadsheetId;

            var credential = GoogleCredential.FromFile(keyPath).CreateScoped(SheetsService.Scope.Spreadsheets);

            var service = new SheetsService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName       = "Bleep"
            });

            Resource = service.Spreadsheets;
        }
Пример #3
0
        async Task GoogleLogin()
        {
            var credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                new ClientSecrets {
                ClientId     = Configuration["google-client-id"],
                ClientSecret = Configuration["google-client-secret"]
            },
                new[] { SheetsService.Scope.Drive },
                "user", CancellationToken.None);

            var sheetsService = new SheetsService(new BaseClientService.Initializer {
                ApplicationName       = "pkmncube",
                HttpClientInitializer = credential
            });

            var customsearchService = new CustomsearchService(new BaseClientService.Initializer {
                ApplicationName = "pkmncube",
                ApiKey          = Configuration["google-custom-search-api-key"]
            });

            GoogleSheets = new SpreadsheetsResource(sheetsService);
            GoogleSearch = new CseResource(customsearchService);
        }
        private async Task ResetSorting(SpreadsheetsResource spreadsheets)
        {
            ValueRange response = await spreadsheets.Values.Get(this.spreadsheetId, this.headerRange).ExecuteAsync();

            this.LoadHeaderIndexes(response.Values.FirstOrDefault());

            List <Request> list = new List <Request>();

            ClearBasicFilterRequest clearFilter = new ClearBasicFilterRequest()
            {
                SheetId = this.dataSheetId
            };

            list.Add(new Request()
            {
                ClearBasicFilter = clearFilter
            });


            SortRangeRequest sortRequest = new SortRangeRequest()
            {
                Range = new GridRange()
                {
                    SheetId          = this.dataSheetId,
                    StartColumnIndex = 0
                },
                SortSpecs = new List <SortSpec>()
                {
                    new SortSpec()
                    {
                        DimensionIndex = this.dateRow,
                        SortOrder      = "DESCENDING"
                    }
                }
            };

            list.Add(new Request()
            {
                SortRange = sortRequest
            });


            SetBasicFilterRequest setFilter = new SetBasicFilterRequest()
            {
                Filter = new BasicFilter()
                {
                    Range = new GridRange()
                    {
                        SheetId          = this.dataSheetId,
                        StartColumnIndex = 0
                    },
                }
            };

            list.Add(new Request()
            {
                SetBasicFilter = setFilter
            });

            BatchUpdateSpreadsheetRequest updateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest()
            {
                Requests = list
            };

            BatchUpdateSpreadsheetResponse updateResponse = await spreadsheets.BatchUpdate(updateSpreadsheetRequest, this.spreadsheetId).ExecuteAsync();

            this.logger.Debug($"Updated filters and sorting.");
        }