Chcę skopiować istniejący arkusz kalkulacyjny Dokumentów Google do nowego arkusza kalkulacyjnego Dokumentów Google. Nie sądzę, aby można go było obsłużyć natywnie (lub jeśli tak, nie mogę znaleźć klasy/metody), jednak wygląda na to, że może wyglądać na v3.0 protocol, ale nie jestem pewien, jak zaimplementować to w obecnej strukturze lub nawet jeśli jest to możliwe z bieżącym interfejsem .net. na przykład. ~ DocumentsFeed.copy() (pseudo kod).Skopiuj arkusz kalkulacyjny Dokumentów Google za pomocą interfejsu API Google .NET
Eksportowanie do pliku temp excel, a następnie przesyłanie z nową nazwą nie jest możliwe, ponieważ niektóre złożone formuły zostają pomieszane w procesie konwersji.
Jestem trochę noob .NET, więc wszelkie informacje będą bardzo mile widziane, np. W jaki sposób mam zamiar zrobić to w .NET, jeśli mogę tylko używać protokołu v3 (ajax itp.), A nie .NET API.
Dzięki
EDIT: (final class dzięki @langsamu za pomoc!)
using System;
using Google.GData.Documents;
using Google.GData.Client;
using Google.GData.Extensions;
public class GoogleDocument
{
private DocumentsService ds;
private String username;
private String password;
public GoogleDocument(String username, String password)
{
this.ds = new DocumentsService("doc service name");
this.username = username;
this.password = password;
this.ds.setUserCredentials(username, password);
this.ds.QueryClientLoginToken();
}
public void copyDocument(String oldFileName, String newFileName)
{
SpreadsheetQuery query = new Google.GData.Documents.SpreadsheetQuery();
query.Title = oldFileName;
query.TitleExact = true;
DocumentsFeed feed = this.ds.Query(query);
AtomEntry entry = feed.Entries[0];
entry.Title.Text = newFileName;
var feedUri = new Uri(DocumentsListQuery.documentsBaseUri);
this.ds.Insert(feedUri, entry);
}
}
Przy odrobinie ulepszenia można uczynić go "typem dokumentu" niezależnym, a nie tylko dla arkuszy kalkulacyjnych, ale nie potrzebuję tego, więc nie mogę teraz usprawiedliwić czasu. – User123342234