Ich habe einige Informationen in Google Spreadsheets als einzelnes Blatt. Gibt es eine Möglichkeit, wie ich diese Informationen aus .NET lesen kann, indem ich die Google-Anmeldeinformationen und die Tabellenkalkulationsadresse bereitstelle? Ist es möglich, Google Data APIs zu verwenden? Letztendlich muss ich die Informationen aus der Google-Tabelle in einer DataTable abrufen. Wie kann ich es tun? Wenn jemand es versucht hat, teilen Sie bitte einige Informationen.
104
Antworten:
Laut .NET-Benutzerhandbuch :
Laden Sie die .NET-Clientbibliothek herunter :
Fügen Sie diese mit Anweisungen hinzu:
Authentifizieren:
Holen Sie sich eine Liste der Tabellenkalkulationen:
Bei einem bereits abgerufenen Tabellenkalkulationseintrag können Sie eine Liste aller Arbeitsblätter in dieser Tabelle wie folgt abrufen:
Und erhalten Sie einen zellbasierten Feed:
quelle
exampleCo-exampleApp-1
") verwenden? Ist es wichtig, was ich dort hineingesteckt habe? Vielen Dank!Ich habe einen einfachen Wrapper um die .Net-Clientbibliothek von Google geschrieben , der eine einfachere datenbankähnliche Oberfläche mit stark typisierten Datensatztypen bietet. Hier ist ein Beispielcode:
Es gibt auch einen LINQ-Anbieter, der in die strukturierten Abfrageoperatoren von Google übersetzt :
quelle
(Jun-Nov 2016) Die Frage und ihre Antworten sind jetzt veraltet als: 1) GData-APIs sind die vorherige Generation von Google-APIs. Obwohl nicht alle GData APIs veraltet sind, alle die neuesten Google - APIs Sie nicht verwenden das Google Data Protocol ; und 2) es gibt eine neue Google Sheets API v4 (auch nicht GData).
Von hier aus müssen Sie die Google APIs Client Library für .NET herunterladen und die neueste Sheets-API verwenden , die viel leistungsfähiger und flexibler ist als jede vorherige API. Hier ist ein C # -Codebeispiel , um Ihnen den Einstieg zu erleichtern. Überprüfen Sie auch die .NET-Referenzdokumente für die Sheets-API und das Entwicklerhandbuch für die .NET Google APIs-Clientbibliothek .
Wenn Sie nicht gegen Python allergisch sind (wenn ja, tun Sie einfach so, als wäre es ein Pseudocode;)), habe ich mehrere Videos mit etwas längeren, "realistischeren" Beispielen für die Verwendung der API erstellt, aus denen Sie lernen und auf Wunsch auf C # migrieren können ::
quelle
Sie können das, was Sie verlangen, auf verschiedene Arten tun:
Verwenden der Google-Tabellenkalkulations-C # -Bibliothek (wie in der Antwort von Tacoman667) zum Abrufen eines ListFeed, das eine Liste von Zeilen (ListEntry im Google-Sprachgebrauch) zurückgeben kann, von denen jede eine Liste von Name-Wert-Paaren enthält. Die Dokumentation zur Google-Tabellenkalkulations-API ( http://code.google.com/apis/spreadsheets/code.html ) enthält mehr als genug Informationen, um Ihnen den Einstieg zu erleichtern.
Verwenden der Google-Visualisierungs-API, mit der Sie komplexere (fast wie SQL) Abfragen senden können, um nur die gewünschten Zeilen / Spalten abzurufen.
Der Tabelleninhalt wird als Atom-Feeds zurückgegeben, sodass Sie XPath- oder SAX-Parsing verwenden können, um den Inhalt eines Listen-Feeds zu extrahieren. Ein Beispiel dafür finden Sie unter http://gqlx.twyst.co.za (in Java und Javascript, obwohl ich Angst habe) .
quelle
Ich bin mir ziemlich sicher, dass es dafür einige C # SDKs / Toolkits in Google Code geben wird. Ich habe dieses gefunden , aber es kann auch andere geben, also lohnt es sich, sich umzuschauen.
quelle
http://code.google.com/apis/gdata/articles/dotnet_client_lib.html
Damit sollten Sie loslegen. Ich habe in letzter Zeit nicht damit gespielt, aber ich habe vor einiger Zeit eine sehr alte Version heruntergeladen und sie schien ziemlich solide zu sein. Dieser ist ebenfalls auf Visual Studio 2008 aktualisiert. Schauen Sie sich also die Dokumente an!
quelle
Diese Twilio-Blog-Seite, die am 24. März 2017 von Marcos Placona erstellt wurde, kann hilfreich sein.
Google Spreadsheets und .NET Core
Es verweist auf Google.Api.Sheets.v4 und OAuth2 .
quelle
Die am besten bewertete Antwort von @Kelly ist nicht mehr gültig, wie @wescpy sagt. Nach dem 03.03.2020 funktioniert es jedoch überhaupt nicht mehr, da die verwendete Bibliothek verwendet wird
Google Sheets v3 API
.https://developers.google.com/sheets/api/v3
Dies wurde am 10.09.2019 von Google angekündigt:
https://cloud.google.com/blog/products/g-suite/migrate-your-apps-use-latest-sheets-api
Neues Codebeispiel für
Google Sheets v4 API
:Gehe zu
https://developers.google.com/sheets/api/quickstart/dotnet
und generieren
credentials.json
. Dann installierenGoogle.Apis.Sheets.v4
NuGet und probieren Sie das folgende Beispiel aus:Beachten Sie, dass ich den Fehler
Unable to parse range: Class Data!A2:E
mit dem Beispielcode, aber mit meiner Tabelle erhalten habe. Der Wechsel zuSheet1!A2:E
funktionierte jedoch, da mein Blatt so genannt wurde. Auch nur mit gearbeitetA2:E
.quelle