Tengo cierta información en Google Spreadsheets como una sola hoja. ¿Hay alguna forma en la que pueda leer esta información de .NET proporcionando las credenciales de Google y la dirección de la hoja de cálculo? ¿Es posible utilizar las API de datos de Google? En última instancia, necesito obtener la información de la hoja de cálculo de Google en un DataTable. ¿Cómo puedo hacerlo? Si alguien lo ha intentado, por favor comparta alguna información.
104
Respuestas:
Según la guía del usuario de .NET :
Descargue la biblioteca cliente .NET :
Agregue estas declaraciones de uso:
Autenticar:
Obtenga una lista de hojas de cálculo:
Dada una SpreadsheetEntry que ya ha recuperado, puede obtener una lista de todas las hojas de trabajo en esta hoja de cálculo de la siguiente manera:
Y obtenga una alimentación basada en células:
fuente
exampleCo-exampleApp-1
")? ¿Importa lo que ponga ahí? ¡Gracias!Escribí un contenedor simple alrededor de la biblioteca cliente .Net de Google , que expone una interfaz similar a una base de datos más simple, con tipos de registros fuertemente tipados. Aquí hay un código de muestra:
También hay un proveedor LINQ que se traduce en los operadores de consulta estructurada de Google :
fuente
(Junio-noviembre de 2016) La pregunta y sus respuestas ahora están desactualizadas porque: 1) Las API de GData son la generación anterior de las API de Google. Si bien no todas las API de GData han quedado obsoletos, todas las últimas API de Google no no utilizan el protocolo de datos de Google ; y 2) hay una nueva API de Google Sheets v4 (tampoco GData).
A partir de aquí, debe obtener la biblioteca cliente de las API de Google para .NET y usar la última API de hojas , que es mucho más potente y flexible que cualquier API anterior. Aquí hay una muestra de código C # para ayudarlo a comenzar. Consulte también los documentos de referencia de .NET para la API Sheets y la guía para desarrolladores de la biblioteca cliente de las API de Google .NET .
Si no es alérgico a Python (si lo es, simplemente finja que es un pseudocódigo;)), hice varios videos con ejemplos un poco más largos y más del "mundo real" del uso de la API de los que puede aprender y migrar a C # si lo desea :
fuente
Puede hacer lo que pide de varias formas:
Usando la biblioteca C # de hoja de cálculo de Google (como en la respuesta de Tacoman667) para obtener un ListFeed que puede devolver una lista de filas (ListEntry en el lenguaje de Google), cada una de las cuales tiene una lista de pares de nombre-valor. La documentación de la API de hoja de cálculo de Google ( http://code.google.com/apis/spreadsheets/code.html ) tiene información más que suficiente para comenzar.
Usando la API de visualización de Google, que le permite enviar consultas más sofisticadas (casi como SQL) para buscar solo las filas / columnas que necesita.
El contenido de la hoja de cálculo se devuelve como fuentes Atom, por lo que puede utilizar el análisis XPath o SAX para extraer el contenido de una fuente de lista. Hay un ejemplo de cómo hacerlo de esta manera (en Java y Javascript, aunque me temo) en http://gqlx.twyst.co.za .
fuente
Estoy bastante seguro de que habrá algunos SDK / kits de herramientas de C # en Google Code para esto. Encontré este , pero puede haber otros, así que vale la pena echarle un vistazo.
fuente
http://code.google.com/apis/gdata/articles/dotnet_client_lib.html
Esto debería ayudarte a empezar. No he jugado con él últimamente, pero descargué una versión muy antigua hace un tiempo y parecía bastante sólida. Este también está actualizado a Visual Studio 2008, ¡así que consulte los documentos!
fuente
Esta página de blog de Twilio creada el 24 de marzo de 2017 por Marcos Placona puede ser útil.
Hojas de cálculo de Google y .NET Core
Se hace referencia a Google.Api.Sheets.v4 y OAuth2 .
fuente
La respuesta más votada de @Kelly ya no es válida como dice @wescpy. Sin embargo, después de 2020-03-03 no funcionará en absoluto ya que la biblioteca utilizada usa
Google Sheets v3 API
.https://developers.google.com/sheets/api/v3
Esto fue anunciado por Google el 10 de septiembre de 2019:
https://cloud.google.com/blog/products/g-suite/migrate-your-apps-use-latest-sheets-api
Nueva muestra de código para
Google Sheets v4 API
:Ir
https://developers.google.com/sheets/api/quickstart/dotnet
y generar
credentials.json
. Entonces instalaGoogle.Apis.Sheets.v4
NuGet y pruebe la siguiente muestra:Tenga en cuenta que recibí el error
Unable to parse range: Class Data!A2:E
con el código de ejemplo pero con mi hoja de cálculo.Sheet1!A2:E
Sin embargo, cambiar a funcionó ya que mi hoja se llamó así. También trabajó con onlyA2:E
.fuente