如何将特定 PUBLIC 电子表格导出到 csv
How to export a specific PUBLIC spreadsheet to csv
所以我正在尝试将此 public sheet 导出到 CSV。
我了解到我可以使用以下模式,只需在我的浏览器中使用(无需登录 google):
https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key={0}&exportFormat=csv
这很棒,而且看起来很简单。但是,当我尝试在我的应用程序中执行此操作时,它似乎要我登录。还有登录过程,我无法开始工作。
我尝试了多种解决方案。使用旧的身份验证方法,我设法让这样的东西起作用:
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 凭据添加到 SpreadsheetService 吗?
要从 Drive 下载文件并将其导出到 csv,您必须使用 Drive(files.get),然后调用导出 link。
另请查看此 documentation 以了解有关从云端硬盘下载文件的更多信息。
希望对您有所帮助!
所以我正在尝试将此 public sheet 导出到 CSV。
我了解到我可以使用以下模式,只需在我的浏览器中使用(无需登录 google):
https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key={0}&exportFormat=csv
这很棒,而且看起来很简单。但是,当我尝试在我的应用程序中执行此操作时,它似乎要我登录。还有登录过程,我无法开始工作。
我尝试了多种解决方案。使用旧的身份验证方法,我设法让这样的东西起作用:
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 凭据添加到 SpreadsheetService 吗?
要从 Drive 下载文件并将其导出到 csv,您必须使用 Drive(files.get),然后调用导出 link。
另请查看此 documentation 以了解有关从云端硬盘下载文件的更多信息。
希望对您有所帮助!