batchGet запрос google spreadsheets api c#

519
17 февраля 2017, 00:44

Необходимо доставать информацию из таблицы гугл, использую apis v4 для c#. У них в примере есть простой запрос на определенный диапазон ячеек.

        // Define request parameters.
        String spreadsheetId = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms";
        String range = "Class Data!A2:E";
        SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, range);

В строке range мы передаем наш диапазон. Но проблема в том, что необходимо получить объединенный диапазон. Например:

Есть ли у кого пример данного batchGet запроса для c#?

Answer 1

Можно так (весь код приводить не буду, он стандартный):

// Define request parameters.
const string spreadsheetId = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms";
const string range1 = "Class Data!B2:B7";
const string range2 = "Class Data!D2:E7";
SpreadsheetsResource.ValuesResource.BatchGetRequest request
  = service.Spreadsheets.Values.BatchGet(spreadsheetId);
request.Ranges = new Repeatable<string>(new[] { range1, range2 });
BatchGetValuesResponse response = request.Execute();
IList<IList<object>> values = response.ValueRanges.SelectMany(x => x.Values).ToList();

if (values != null && values.Count > 0)
{
  Console.WriteLine("Name, Major");
  foreach (var row in values)
  {
    if (row.Count > 1)
      Console.WriteLine("{0} {1}", row[0], row[1]);
    else
      Console.WriteLine("{0}", row[0]);
  }
}
else
{
  Console.WriteLine("No data found.");
}

Результат для таблицы

Будет:

Name, Major
Female
Male
Female
Female
Male
Male
CA English
SD Math
NC English
SD Art
WI English
MD Art
READ ALSO
Entity Framwork 6 + SQLite значения по умолчанию

Entity Framwork 6 + SQLite значения по умолчанию

Есть таблица, в ней есть столбец с датой, куда должна вставляться текущая дата (для SQLite это DEFAULT CURRENT_TIMESTAMP)Так вот когда я вставляю строки через...

296
Entity framework 6 + sqlite скорость получения данных

Entity framework 6 + sqlite скорость получения данных

Есть контекст данных (его я приводить не буду) и есть у меня такой вот адаптер

288
Получить данные ключа из Dictionary&lt;object, string&gt;

Получить данные ключа из Dictionary<object, string>

Уже сомневаюсь, правильно ли начал делать, поэтому хочется разумного разъясненияПредварительно заполняю БД, где создаю словарь, хранящий...

346
Заполнение ComboBox из БД (Entity Framework)

Заполнение ComboBox из БД (Entity Framework)

Добрый день, есть Класс со свойствами и выборкой:

579