如何在电子表格中获取应用程序脚本的ID

时间:2016-05-13 13:46:44

标签: android google-apps-script google-drive-api google-play-services

我的程序是这样的:

1 - 使用Drive Api将公共Google电子表格的副本复制到我的云端硬盘帐户(设备中用户的帐户),该版本可以正常使用

2 - 公共谷歌电子表格里面有一个带有简单功能的应用程序脚本,我需要执行该功能。

3 - 应用程序脚本中的功能执行得非常好(带有脚本的ID),以及来自android的Apps脚本api。

问题是:每次执行电子表格的副本,里面的脚本都会更改ID,我需要一种方法来获取该ID。

如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

虽然这是一篇很老的帖子,但希望这对任何看起来都很有用:

var scriptID = ScriptApp.getScriptId();

来源:Google Apps Script Services API

答案 1 :(得分:1)

我有类似的问题。我通过执行以下操作解决了该问题;

正在复制的表格中

  1. 使用以下代码将功能添加到工作表的脚本:function ScriptID(){return ScriptApp.getScriptId()}

  2. 在某些单元格中添加公式=ScriptID()

  3. 访问该单元格的值以检索脚本ID。

现在,当您复制原始文件时,函数和公式将随之复制。在新工作表中,公式的结果将显示该工作表的脚本ID

警告:这可能会带来一些安全问题,因为现在您的工作表的脚本ID公开给具有读取工作表权限的任何人。

希望这会有所帮助

答案 2 :(得分:0)

截至本文发布之日,还没有内置的编程方式来获取绑定到表格文件的 Apps 脚本项目文件的 ID。

如果以后有变化,请在下方评论告诉我。 添加此功能的现有功能请求位于以下链接中。请点击左上角的星星。
https://issuetracker.google.com/issues/111149037

参考通过将函数放入Sheets单元格获取ID的答案,将函数放入Sheets单元格并调用“gs”文件中的函数名称需要您打开绑定的脚本文件并输入功能。因此,如果您打算这样做,您只需手动获取 Apps 脚本项目文件 ID。

也无法使用 Drive API 列出绑定到文档的 Apps 脚本项目文件。 Drive API 不会找到未在 Drive 中显示的 Apps 脚本文件。

Google Drive API 不会找到未在您的 Google Drive 中明显显示的 Apps 脚本文件。因此,Drive API 也不能用于获取任何信息。而且 Apps Script API 不会列出您帐户中的所有 Apps 脚本文件。它只会通过 ID 获取文件。因此,您只能获取一个 Apps 脚本文件,并且您需要知道文件 ID。