我想要做的是将 Google 工作表导出为 PDF,而不显示网格线。我在网上看到代码示例,了解如何在使用这样的 url 时访问该参数:
var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export"+
"?format=pdf&"+
"size=0&"+
"fzr=true&"+
"portrait=false&"+
"fitw=true&"+
"gridlines=false&"+
"printtitle=true&"+
"sheetnames=true&"+
"pagenum=CENTER&"+
"attachment=true";
但我正在使用以下不使用 url 的代码:
private static void DownloadfileFromGDrive(DriveService service, string fileId, string filePath)
{
var request = service.Files.Export(fileId, "application/pdf");
using (var memoryStream = new MemoryStream())
{
request.MediaDownloader.ProgressChanged += (IDownloadProgress progress) =>
{
switch (progress.Status)
{
case DownloadStatus.Downloading:
Debug.WriteLine(progress.BytesDownloaded);
break;
case DownloadStatus.Completed:
Debug.WriteLine("Download Complete");
break;
case DownloadStatus.Failed:
Debug.WriteLine("Download Failed");
break;
}
};
request.Download(memoryStream);
using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
fileStream.Write(memoryStream.GetBuffer(), 0, memoryStream.GetBuffer().Length);
};
}
}
如何从我的代码中访问这些参数?
最佳答案
这个答案怎么样?
不幸的是,当使用导出为 PDF 格式的查询参数时,service.Files.Export(fileId, "application/pdf")
不能用于这种情况。在这种情况下,需要使用访问 token 下载 PDF 文件。这种情况的终点如下。
端点:
var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export"+
"?format=pdf&"+
"size=0&"+
"fzr=true&"+
"portrait=false&"+
"fitw=true&"+
"gridlines=false&"+
"printtitle=true&"+
"sheetnames=true&"+
"pagenum=CENTER&"+
"attachment=true&"+
"access_token=###"; // Added
- 当您将此端点请求为 GET 方法时,可以检索反射(reflect)查询参数的 PDF 数据。
- 当然,你也可以在请求头中加入access token而不是query参数。
引用:
如果这不是您想要的方向,我深表歉意。
关于c# - 将 Google 表格导出为 PDF 时,如何访问参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58141734/