如何创建指向Google文档最后命名版本的PDF链接?

人气:335 发布:2022-10-16 标签: url rest google-api google-docs google-docs-api

问题描述

我有一个实时文档,可以在我的网站上下载(一台设备的手册)。我希望能够在用户看不到这些微小更改的情况下进行更改,因此我认为使用命名版本将是理想的。但我找不到链接到最新命名版本的方法。

我确信我可以使用Google脚本创建第二个文档,并在每次命名版本时复制到其中,但我认为应该有更简单的方法。

我当前使用的URL格式如下。

https://docs.google.com/document/d/{Document ID}/export?format=pdf

只要我不更改文档,这就可以很好地工作。

推荐答案

答案:

遗憾的是,无法使用G Suite API检索命名版本的名称。

更多信息:

Docs API本身没有允许访问修订版本的方法,而Drive API则没有名称的资源表示形式,因此无法通过名称本身标识修订版本。

解决方法:

如果您需要的版本是最新版本,则可以使用Drive APIRevisions: list方法检索最新版本,并从资源响应的exportLinks属性获取指向最新版本的导出链接:

function getExportLink() {
  var fileId = "<your-file-id>";
  var revisions = Drive.Revisions.list(fileId);
  var latestRevision = revisions.items[(revisions.items.length - 1)];
  var url = "https://docs.google.com/feeds/download/documents/export/Export?id=";
  var revision = "&revision=" + latestRevision.id;
  var format = "&exportFormat=pdf";
  
  return url + fileId + revision + format;
}

注意:您必须使用高级驱动器服务v2从应用程序脚本中获取修订版本-要激活此功能,请导航到Resources > Advanced Google Services...并单击Drive API旁边的开关,使其显示为on并变为绿色。

引用:

Google Documents API Reference Download and publish file revisions - Google Drive API Google Drive API Revisions Overview Google Drive API Revisions: list method

297