将Google表格导出为PDF时,我如何访问参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Google表格导出为PDF时,我如何访问参数相关的知识,希望对你有一定的参考价值。
[我想做的是将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";
但是我正在使用以下代码,该代码未利用网址:
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")
无法用于这种情况。在这种情况下,需要使用访问令牌下载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方法时,可以检索反映查询参数的PDF数据。
- 当然,您也可以将访问令牌而不是查询参数添加到请求标头中。
参考:
如果这不是您想要的方向,我很抱歉。
以上是关于将Google表格导出为PDF时,我如何访问参数的主要内容,如果未能解决你的问题,请参考以下文章
如何将单张 PDF 文件直接下载到我的本地设备(不导出到 Google Drive)?