[c#] Zugriff auf Google-Tabellen mit C # mithilfe der Google Daten-API


Answers

Ich habe einen einfachen Wrapper rund um Googles .NET-Client-Bibliothek geschrieben , der eine einfachere datenbankähnliche Oberfläche mit stark typisierten Datensatztypen bietet. Hier ist ein Beispielcode:

public class Entity {
    public int IntProp { get; set; }
    public string StringProp { get; set; }
}

var e1 = new Entity { IntProp = 2 };
var e2 = new Entity { StringProp = "hello" };
var client = new DatabaseClient("you@gmail.com", "password");
const string dbName = "IntegrationTests";
Console.WriteLine("Opening or creating database");
db = client.GetDatabase(dbName) ?? client.CreateDatabase(dbName); // databases are spreadsheets
const string tableName = "IntegrationTests";
Console.WriteLine("Opening or creating table");
table = db.GetTable<Entity>(tableName) ?? db.CreateTable<Entity>(tableName); // tables are worksheets
table.DeleteAll();
table.Add(e1);
table.Add(e2);
var r1 = table.Get(1);

Es gibt auch einen LINQ-Anbieter, der die strukturierten Abfrageoperatoren von Google übersetzt:

var q = from r in table.AsQueryable()
        where r.IntProp > -1000 && r.StringProp == "hello"
        orderby r.IntProp
        select r;
Question

Ich habe einige Informationen in Google Tabellen als einzelnes Blatt. Gibt es eine Möglichkeit, wie ich diese Informationen von .NET lesen kann, indem ich die Google-Anmeldeinformationen und die Tabellenadresse zur Verfügung stelle. 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.




Sie können tun, was Sie auf verschiedene Arten fragen:

  1. Mit der C # -Bibliothek der Google-Tabellenkalkulation (wie in der Antwort von Tacoman667) wird ein ListFeed abgerufen, der eine Liste von Zeilen (ListEntry im Google-Sprachgebrauch) zurückgeben kann, von denen jede eine Liste von Name-Wert-Paaren enthält. Die Google-Tabellenkalkulations-API ( http://code.google.com/apis/spreadsheets/code.html ) -Dokumentation enthält mehr als genug Informationen für den Einstieg.

  2. Verwenden Sie die Google-Visualisierungs-API, mit der Sie anspruchsvollere (fast wie SQL-) Abfragen senden können, um nur die benötigten Zeilen / Spalten abzurufen.

  3. Die Tabellenkalkulationsinhalte werden als Atom-Feeds zurückgegeben, sodass Sie XPath- oder SAX-Parsing verwenden können, um den Inhalt eines Listenfeeds zu extrahieren. Es gibt ein Beispiel, das es so macht (in Java und Javascript nur, obwohl ich Angst habe) bei http://gqlx.twyst.co.za .




http://code.google.com/apis/gdata/articles/dotnet_client_lib.html

Dies sollte Ihnen den Einstieg erleichtern. Ich habe in letzter Zeit nicht damit gespielt, aber ich habe eine sehr alte Version vor einiger Zeit heruntergeladen und es schien ziemlich solide zu sein. Dieser ist auch auf Visual Studio 2008 aktualisiert, also schaut euch die Dokumentation an!




Related