Итак, я пытаюсь экспортировать этот открытый лист в CSV.Как экспортировать определенную таблицу PUBLIC в csv
Я узнал, что я могу использовать следующий шаблон, просто в моем браузере (без входа в Google):
https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key={0}&exportFormat=csv
Это является большим, и, кажется, довольно просто. ОДНАКО, когда я пытаюсь сделать это в своем приложении, мне кажется, что я хочу войти. И процесс входа в систему, я не могу работать.
Я пробовал несколько решений. Используя старые методы AUTH, мне удалось получить что-то подобное для работы:
var spreadsheetService = new SpreadsheetsService(name);
var csv = string.Empty;
using (var sr = new StreamReader(spreadsheetService.Query(exportUrl)))
{
csv = sr.ReadToEnd();
}
Это работало замечательно, но теперь учетные данные не были перемещены в OAuth, и это больше не работает для меня. Мне не удалось найти способ добавления учетных данных OAuth к этому методу.
Так вместо того, чтобы я попробовал, следуя примеру, и в конечном итоге с чем-то вроде этого:
var certificate = new X509Certificate2(data, "notasecret", X509KeyStorageFlags.Exportable);
var credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceEmail)
{
Scopes = new[] { PlusService.Scope.PlusMe }
}.FromCertificate(certificate));
credential.RequestAccessTokenAsync(System.Threading.CancellationToken.None).Wait();
var service = new PlusService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "My app",
});
Это похоже на работу, но я понятия не имею, что следующий шаг является. Как выполнить мой экспортный запрос в PlusService? Возможно ли это? Могу ли я вместо этого добавить учетные данные OAuth в службу электронных таблиц?