Mam pewne informacje w Arkuszach kalkulacyjnych Google w postaci pojedynczego arkusza. Czy istnieje sposób, w jaki mogę odczytać te informacje z .NET, podając dane logowania Google i adres arkusza kalkulacyjnego. Czy jest to możliwe przy użyciu interfejsów API danych Google. Ostatecznie muszę uzyskać informacje z arkusza kalkulacyjnego Google w DataTable. Jak mogę to zrobić? Jeśli ktoś próbował, proszę o podzielenie się informacjami.
104
Odpowiedzi:
Zgodnie z podręcznikiem użytkownika .NET :
Pobierz bibliotekę klienta .NET :
Dodaj je za pomocą instrukcji:
Uwierzytelniać:
Pobierz listę arkuszy kalkulacyjnych:
Biorąc pod uwagę pobrany już wpis w arkuszu kalkulacyjnym, możesz uzyskać listę wszystkich arkuszy w tym arkuszu kalkulacyjnym w następujący sposób:
I uzyskaj kanał oparty na komórkach:
źródło
exampleCo-exampleApp-1
”)? czy ma znaczenie, co tam umieściłem? Dzięki!Napisałem prosty wrapper wokół biblioteki klienta .Net Google , który udostępnia prostszy interfejs podobny do bazy danych, z silnie wpisanymi typami rekordów. Oto przykładowy kod:
Istnieje również dostawca LINQ, który tłumaczy się na strukturalne operatory zapytań Google :
źródło
(Czerwiec-listopad 2016) Pytanie i odpowiedzi na nie są już nieaktualne, ponieważ: 1) Interfejsy API GData to poprzednia generacja interfejsów API Google. Chociaż nie wszystkie funkcje API GData były przestarzałe, wszystkie najnowsze API Google czy nie użyć protokołu danych Google ; oraz 2) jest nowy interfejs API Arkuszy Google v4 (również nie GData).
Przechodząc dalej, musisz pobrać bibliotekę klientów interfejsów API Google dla .NET i korzystać z najnowszego interfejsu API Arkuszy , który jest znacznie bardziej wydajny i elastyczny niż jakikolwiek poprzedni interfejs API. Oto przykładowy kod C # ułatwiający rozpoczęcie pracy. Zapoznaj się również z dokumentacją referencyjną dotyczącą platformy .NET, aby uzyskać informacje o interfejsie Sheets API i podręczniku dla programistów .NET Google APIs Client Library .
Jeśli nie jesteś uczulony na Pythona (jeśli jesteś, po prostu udawaj, że to pseudokod;)), stworzyłem kilka filmów z nieco dłuższymi, bardziej "rzeczywistymi" przykładami używania API, z którego możesz się uczyć i migrować do C # w razie potrzeby :
źródło
Możesz zrobić to, o co prosisz, na kilka sposobów:
Używając biblioteki C # arkuszy kalkulacyjnych Google (jak w odpowiedzi Tacoman667), aby pobrać ListFeed, który może zwrócić listę wierszy (ListEntry w języku Google), z których każdy ma listę par nazwa-wartość. Dokumentacja interfejsu API arkuszy kalkulacyjnych Google ( http://code.google.com/apis/spreadsheets/code.html ) zawiera więcej niż wystarczającą ilość informacji, aby rozpocząć.
Korzystanie z interfejsu API wizualizacji Google, który umożliwia przesyłanie bardziej wyrafinowanych (prawie jak SQL) zapytań w celu pobrania tylko wymaganych wierszy / kolumn.
Zawartość arkusza kalkulacyjnego jest zwracana jako kanały Atom, więc możesz użyć analizy XPath lub SAX w celu wyodrębnienia zawartości źródła listy. Jest przykład robienia tego w ten sposób (choć obawiam się tylko w Javie i Javascript) na http://gqlx.twyst.co.za .
źródło
Jestem prawie pewien, że w Google Code będzie do tego trochę C # SDK / toolkits. Znalazłem ten , ale mogą być i inne, więc warto się rozejrzeć.
źródło
http://code.google.com/apis/gdata/articles/dotnet_client_lib.html
To powinno zacząć. Nie bawiłem się nim ostatnio, ale jakiś czas temu ściągnąłem bardzo starą wersję i wydawała się całkiem solidna. Ten jest również zaktualizowany do Visual Studio 2008, więc sprawdź dokumentację!
źródło
Ta strona bloga Twilio utworzona 24 marca 2017 r. Przez Marcosa Placona może być pomocna.
Arkusze kalkulacyjne Google i .NET Core
Odwołuje się do Google.Api.Sheets.v4 i OAuth2 .
źródło
Najbardziej pozytywna odpowiedź od @Kelly nie jest już ważna, jak mówi @wescpy. Jednak po 2020-03-03 nie będzie działać w ogóle, ponieważ używana biblioteka używa
Google Sheets v3 API
.https://developers.google.com/sheets/api/v3
Zostało to ogłoszone 10.09.2019 przez Google:
https://cloud.google.com/blog/products/g-suite/migrate-your-apps-use-latest-sheets-api
Nowy przykładowy kod dla
Google Sheets v4 API
:Iść do
https://developers.google.com/sheets/api/quickstart/dotnet
i generuj
credentials.json
. Następnie zainstalujGoogle.Apis.Sheets.v4
NuGet i wypróbuj następujący przykład:Zauważ, że otrzymałem błąd
Unable to parse range: Class Data!A2:E
z przykładowym kodem, ale z moim arkuszem kalkulacyjnym. Zmiana naSheet1!A2:E
działała jednak, ponieważ mój arkusz został tak nazwany. Pracował również tylko zA2:E
.źródło