private static GoogleSheetAppendRequest CreateAppendRequest(string sheetName, int columnKey, string valueKey,
                                                                    int columnStart, object[] values)
        {
            var row          = new GoogleSheetRow();
            var countColumns = Math.Max(columnKey, columnStart + values.Length);

            for (int i = 0; i < countColumns; i++)
            {
                row.Add(null);
            }

            for (int i = 0; i < values.Length; i++)
            {
                row[i + columnStart] = GoogleSheetCell.Create(values[i]);
            }

            row[columnKey] = GoogleSheetCell.Create(valueKey);

            var request = new GoogleSheetAppendRequest(sheetName)
            {
                Rows = { row },
            };

            return(request);
        }
        private static IEnumerable <GoogleSheetUpdateRequest> CreateUpdateRequests(string sheetName, int columnStart,
                                                                                   int rowStart, object[] values)
        {
            for (int i = 0; i < values.Length; i++)
            {
                var value = values[i];
                if (value == null)
                {
                    continue;
                }

                var row = new GoogleSheetRow();
                row.Add(GoogleSheetCell.Create(value));

                var request = new GoogleSheetUpdateRequest(sheetName)
                {
                    ColumnStart = columnStart + i,
                    RowStart    = rowStart,
                    Rows        = { row },
                };
                yield return(request);
            }
        }