Estou tendo algumas informações no Google Spreadsheets como uma única folha. Existe alguma maneira de ler essas informações do .NET, fornecendo as credenciais do Google e o endereço da planilha. É possível usar APIs de dados do Google. Em última análise, preciso obter as informações da planilha do Google em um DataTable. Como eu posso fazer isso? Se alguém tentou, pls compartilhe algumas informações.
104
Respostas:
De acordo com o guia do usuário .NET :
Faça download da biblioteca cliente .NET :
Adicione estes usando declarações:
Autenticar:
Obtenha uma lista de planilhas:
Dado um SpreadsheetEntry que você já recuperou, você pode obter uma lista de todas as planilhas nesta planilha da seguinte maneira:
E obtenha um feed baseado em células:
fonte
exampleCo-exampleApp-1
")? importa o que eu coloquei lá? Obrigado!Eu escrevi um invólucro simples em torno da biblioteca de cliente .Net do Google , ele expõe uma interface semelhante a um banco de dados mais simples, com tipos de registro fortemente tipados. Aqui está um exemplo de código:
Há também um provedor LINQ que se traduz em operadores de consulta estruturada do Google :
fonte
(Jun-Nov 2016) A pergunta e suas respostas agora estão desatualizadas como: 1) GData APIs são a geração anterior de APIs do Google. Embora nem todas as APIs GData tenham sido descontinuadas, todas as APIs do Google mais recentes não usam o protocolo de dados do Google ; e 2) há uma nova API do Planilhas Google v4 (também não GData).
Daqui para frente, você precisa obter a biblioteca cliente de APIs do Google para .NET e usar a API Sheets mais recente , que é muito mais poderosa e flexível do que qualquer API anterior. Aqui está um exemplo de código C # para ajudá-lo a começar. Verifique também os documentos de referência do .NET para a API Sheets e o guia para desenvolvedores da biblioteca cliente de APIs do .NET do Google .
Se você não é alérgico a Python (se for, finja que é um pseudocódigo;)), fiz vários vídeos com exemplos um pouco mais longos e "reais" do uso da API com a qual você pode aprender e migrar para C # se desejar :
fonte
Você pode fazer o que está pedindo de várias maneiras:
Usando a biblioteca C # da planilha do Google (como na resposta de Tacoman667) para buscar um ListFeed que pode retornar uma lista de linhas (ListEntry no jargão do Google), cada uma das quais tem uma lista de pares nome-valor. A documentação da API de planilhas do Google ( http://code.google.com/apis/spreadsheets/code.html ) contém informações mais do que suficientes para você começar.
Usando a API de visualização do Google, que permite enviar consultas mais sofisticadas (quase como SQL) para buscar apenas as linhas / colunas de que você precisa.
O conteúdo da planilha é retornado como feeds Atom para que você possa usar a análise XPath ou SAX para extrair o conteúdo de um feed de lista. Há um exemplo de como fazer dessa forma (em Java e Javascript, mas estou com medo) em http://gqlx.twyst.co.za .
fonte
Tenho certeza de que haverá alguns C # SDKs / kits de ferramentas no Google Code para isso. Eu encontrei este , mas pode haver outros, então vale a pena dar uma olhada.
fonte
http://code.google.com/apis/gdata/articles/dotnet_client_lib.html
Isso deve ajudá-lo a começar. Não tenho brincado com ele ultimamente, mas baixei uma versão muito antiga há um tempo e parecia bastante sólido. Este também foi atualizado para o Visual Studio 2008, então verifique a documentação!
fonte
Esta página do blog Twilio feita em 24 de março de 2017 por Marcos Placona pode ser útil.
Planilhas Google e .NET Core
Ele faz referência a Google.Api.Sheets.v4 e OAuth2 .
fonte
A resposta mais votada por @Kelly não é mais válida, como diz @wescpy. No entanto, depois de 2020-03-03, ele não funcionará, já que a biblioteca usada usa
Google Sheets v3 API
.https://developers.google.com/sheets/api/v3
Isso foi anunciado em 10/09/2019 pelo Google:
https://cloud.google.com/blog/products/g-suite/migrate-your-apps-use-latest-sheets-api
Novo exemplo de código para
Google Sheets v4 API
:Vamos para
https://developers.google.com/sheets/api/quickstart/dotnet
e gerar
credentials.json
. Em seguida, instale oGoogle.Apis.Sheets.v4
NuGet e experimente o seguinte exemplo:Observe que recebi o erro
Unable to parse range: Class Data!A2:E
com o código de exemplo, mas com minha planilha. Mudar paraSheet1!A2:E
funcionou, no entanto, desde que minha folha foi chamada assim. Também trabalhou apenas comA2:E
.fonte