예제 #1
0
        public IActionResult SpreadEdit(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "sa_spread_edit")] HttpRequest req, ILogger log)
        {
            _sheetsService = ConnectSpreadSheet();
            String range                      = "シート1!B2";
            string valueInputOption           = "USER_ENTERED";
            List <Data.ValueRange> updateData = new List <Data.ValueRange>();
            var dataValueRange                = new Data.ValueRange();

            List <IList <object> > data = new List <IList <object> >();

            data.Add(GetRandomList());
            data.Add(GetRandomList());
            data.Add(GetRandomList());
            data.Add(GetRandomList());
            data.Add(GetRandomList());
            dataValueRange.Range  = range;
            dataValueRange.Values = data;
            updateData.Add(dataValueRange);

            Data.BatchUpdateValuesRequest requestBody = new Data.BatchUpdateValuesRequest();
            requestBody.ValueInputOption = valueInputOption;
            requestBody.Data             = updateData;
            var request = _sheetsService.Spreadsheets.Values.BatchUpdate(requestBody, _editSpreadsheetId);

            Data.BatchUpdateValuesResponse response = request.Execute();

            return(new ObjectResult(JsonConvert.SerializeObject(response)));
        }
        /// Inserts the data into specific sheet name at row # provided
        private static void InsertData(SheetsService service, string sheetName, int row, List <IList <object> > data)
        {
            String range            = sheetName + "!A" + row + ":Y";
            string valueInputOption = "USER_ENTERED";

            // The new values to apply to the spreadsheet.
            List <Google.Apis.Sheets.v4.Data.ValueRange> updateData = new List <Google.Apis.Sheets.v4.Data.ValueRange>();
            var dataValueRange = new Google.Apis.Sheets.v4.Data.ValueRange();

            dataValueRange.Range  = range;
            dataValueRange.Values = data;
            updateData.Add(dataValueRange);

            Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest requestBody = new Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest();
            requestBody.ValueInputOption = valueInputOption;
            requestBody.Data             = updateData;

            var request = service.Spreadsheets.Values.BatchUpdate(requestBody, spreadsheetId);

            Google.Apis.Sheets.v4.Data.BatchUpdateValuesResponse response = request.Execute();
        }
 public static void InserViewCountToPopularityColumn(List <SpotifyInfo> songs, string columnName)
 {
     try
     {
         var service = UserCredential();
         IList <SpotifyInfo> dataList = songs;
         List <Google.Apis.Sheets.v4.Data.ValueRange> data = new List <Google.Apis.Sheets.v4.Data.ValueRange>();
         ValueRange valueDataRange = new ValueRange()
         {
             MajorDimension = "ROWS"
         };
         valueDataRange.Values = new List <IList <object> >()
         {
         };
         valueDataRange.Values.Add(new List <object> {
             DateTime.Now.ToString("POPULARITY")
         });
         int max = dataList.Count + 1;
         valueDataRange.Range = range + "!" + columnName + "1:" + columnName + max.ToString();
         for (int i = 0; i < dataList.Count; i++)
         {
             IList <object> list = new List <object> {
                 dataList[i].Popularity
             };
             valueDataRange.Values.Add(list);
         }
         data.Add(valueDataRange);
         Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest requestBody = new Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest();
         requestBody.ValueInputOption = "USER_ENTERED";
         requestBody.Data             = data;
         // API to update data to sheet
         SpreadsheetsResource.ValuesResource.BatchUpdateRequest request  = service.Spreadsheets.Values.BatchUpdate(requestBody, spreadsheetId);
         Google.Apis.Sheets.v4.Data.BatchUpdateValuesResponse   response = request.Execute();
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
예제 #4
0
        private void writeToGoogleSheet(DataTable dt)
        {
            List <IList <Object> > googleDataRows = new List <IList <Object> >();
            var googleDataRow = new List <object>();

            foreach (DataRow row in dt.Rows)
            {
                for (int i = 0; i < 6; i++)
                {
                    googleDataRow.Add(row[i]);
                }

                googleDataRows.Add(googleDataRow);
                googleDataRow = new List <object>();
            }

            // The new values to apply to the spreadsheet.
            List <Data.ValueRange> data = new List <Data.ValueRange>();  // TODO: Update placeholder value.

            Data.BatchUpdateValuesRequest requestBody = new Data.BatchUpdateValuesRequest();
            requestBody.ValueInputOption = "RAW";

            ValueRange vr = new ValueRange();

            vr.Values = googleDataRows;
            vr.Range  = monthStrings[monthIndex];

            data.Add(vr);

            requestBody.Data = data;

            SpreadsheetsResource.ValuesResource.BatchUpdateRequest request = Program.SpreadsheetService.Spreadsheets.Values.BatchUpdate(requestBody, spreadsheetId);

            // To execute asynchronously in an async method, replace `request.Execute()` as shown:
            Data.BatchUpdateValuesResponse response = request.Execute();

            Console.Read();
        }
 public static void InsertLinkYoutube(List <Songs> songs, int numberOfOldSongs)
 {
     try
     {
         var           service  = UserCredential();
         IList <Songs> dataList = songs;
         List <Google.Apis.Sheets.v4.Data.ValueRange> data = new List <Google.Apis.Sheets.v4.Data.ValueRange>();
         ValueRange valueDataRange = new ValueRange()
         {
             MajorDimension = "ROWS"
         };
         valueDataRange.Values = new List <IList <object> >()
         {
         };
         int max = numberOfOldSongs + songs.Count + 1;
         valueDataRange.Range = range + "!K" + (numberOfOldSongs + 2).ToString() + ":" + "K" + max.ToString();
         for (int i = 0; i < dataList.Count; i++)
         {
             IList <object> list = new List <object> {
                 dataList[i].YoutubeUrl
             };
             valueDataRange.Values.Add(list);
         }
         data.Add(valueDataRange);
         Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest requestBody = new Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest();
         requestBody.ValueInputOption = "USER_ENTERED";
         requestBody.Data             = data;
         // API to update data to sheet
         SpreadsheetsResource.ValuesResource.BatchUpdateRequest request  = service.Spreadsheets.Values.BatchUpdate(requestBody, spreadsheetId);
         Google.Apis.Sheets.v4.Data.BatchUpdateValuesResponse   response = request.Execute();
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }