У меня есть некоторая информация в таблицах Google на одном листе. Есть ли способ, которым я могу прочитать эту информацию из .NET, предоставив учетные данные Google и адрес электронной таблицы. Возможно ли использование API данных Google. В конечном итоге мне нужно получить информацию из электронной таблицы Google в DataTable. Как мне это сделать? Если кто-то пытался это сделать, пожалуйста, поделитесь информацией.
104
Ответы:
Согласно руководству пользователя .NET :
Загрузите клиентскую библиотеку .NET :
Добавьте эти операторы using:
Аутентифицировать:
Получите список таблиц:
Учитывая уже полученный вами объект SpreadsheetEntry, вы можете получить список всех рабочих листов в этой таблице следующим образом:
И получите фид на основе ячеек:
источник
exampleCo-exampleApp-1
")? имеет значение, что я туда вставил? Спасибо!Я написал простую обертку вокруг клиентской библиотеки .Net компании Google , он предоставляет более простой базы данных , как интерфейс, с сильно типизированных типов записей. Вот пример кода:
Также существует поставщик LINQ, который преобразует операторы структурированных запросов Google :
источник
(Июнь-ноябрь 2016 г.) Вопрос и ответы на него устарели, поскольку: 1) API-интерфейсы GData - это API-интерфейсы Google предыдущего поколения. Хотя не все интерфейсы GData устарели, все последние API , Google ничего не используют протокол данных Google ; и 2) появился новый Google Sheets API v4 (также не GData).
Двигаясь дальше, вам необходимо получить клиентскую библиотеку API Google для .NET и использовать последнюю версию API таблиц , которая намного мощнее и гибче, чем любой предыдущий API. Вот пример кода C #, который поможет вам начать работу. Также проверьте справочную документацию по .NET для Sheets API и руководство для разработчиков клиентской библиотеки .NET Google API .
Если у вас нет аллергии на Python (если да, просто представьте, что это псевдокод;)), я сделал несколько видеороликов с немного более длинными, более «реальными» примерами использования API, из которого вы можете научиться и при желании перейти на C # :
источник
Вы можете сделать то, о чем просите, несколькими способами:
Использование библиотеки C # для электронных таблиц Google (как в ответе Tacoman667) для получения ListFeed, который может возвращать список строк (ListEntry на языке Google), каждая из которых имеет список пар имя-значение. Документация по API таблиц Google ( http://code.google.com/apis/spreadsheets/code.html ) содержит более чем достаточно информации, чтобы вы могли начать работу.
Использование API визуализации Google, который позволяет отправлять более сложные (почти как SQL) запросы для получения только нужных вам строк / столбцов.
Содержимое электронной таблицы возвращается в виде каналов Atom, поэтому вы можете использовать синтаксический анализ XPath или SAX для извлечения содержимого канала списка. Пример того, как это сделать (боюсь, только на Java и Javascript) можно найти на http://gqlx.twyst.co.za .
источник
Я почти уверен, что для этого в Google Code есть несколько SDK / инструментов для C #. Я нашел этот , но могут быть и другие, так что его стоит поискать.
источник
http://code.google.com/apis/gdata/articles/dotnet_client_lib.html
Это должно вас начать. Я не играл с ним в последнее время, но некоторое время назад я скачал очень старую версию, и она показалась мне довольно надежной. Этот также обновлен до Visual Studio 2008, так что ознакомьтесь с документацией!
источник
Эта страница блога Twilio, созданная 24 марта 2017 года Маркосом Плаконой, может быть полезной.
Таблицы Google и .NET Core
Он ссылается на Google.Api.Sheets.v4 и OAuth2 .
источник
Ответ, получивший наибольшее количество голосов от @Kelly, больше не действителен, как говорит @wescpy. Однако после 2020-03-03 он не будет работать вообще, поскольку используемая библиотека использует
Google Sheets v3 API
.https://developers.google.com/sheets/api/v3
Об этом было объявлено 10 сентября 2019 года от Google:
https://cloud.google.com/blog/products/g-suite/migrate-your-apps-use-latest-sheets-api
Новый пример кода для
Google Sheets v4 API
:Перейти к
https://developers.google.com/sheets/api/quickstart/dotnet
и генерировать
credentials.json
. Затем установитеGoogle.Apis.Sheets.v4
NuGet и попробуйте следующий пример:Обратите внимание, что я получил ошибку
Unable to parse range: Class Data!A2:E
с кодом примера, но с моей таблицей. Однако изменение наSheet1!A2:E
сработало, так как мой лист был назван так. И работал с толькоA2:E
.источник