如何在应用程序脚本中使用用户属性添加在AuthMode.NONE中执行?

时间:2016-10-19 12:28:15

标签: google-apps-script triggers google-apps-marketplace google-apps-script-addon

我正在开发Google Sheet Add On,但遇到了一些麻烦。

我正在访问User Properties,根据Google App Script Add On documentation用户属性只有在AuthMode.LIMITED中执行app scirpt时才可访问。

所以我的问题=是否还有其他方法可以在onInstall方法中使用User Properties

注意:应用程序脚本不受Google电子表格限制,它是一个独立的脚本。

1 个答案:

答案 0 :(得分:3)

来自以下网址的Apps脚本文档:

https://developers.google.com/apps-script/add-ons/lifecycle#installing

安装

当从商店安装附加组件时,其onInstall(e)函数在AuthMode.FULL中运行。这允许加载项运行复杂的安装例程,但是使用onInstall(e)来创建菜单项也很重要,因为文档已经打开,因此你的onOpen(e)函数没有运行。为方便起见,您可以从onInstall(e)调用onOpen(e),如下例所示:

function onInstall(e) {
  onOpen(e);
  // Perform additional setup as needed.
}

授权生命周期可能令人困惑:
onInstall()仅在安装加载项时运行一次。它以完全访问模式运行,因此您可以访问所有Apps脚本服务。

在用户安装加载项后,每次打开文档时都会运行

onOpen()。

onOpen()可以是NONE或LIMITED两种模式。

NONE:用户之前已安装了加载项,但尚未为当前文档启用它。此时,您所能做的就是创建菜单项。要为当前文档启用加载项,用户必须选择一个菜单项。启用后,它始终会为该文档启用(除非您的插件更改了OAuth范围,并且必须由用户重新授权)。

LIMITED:用户已启用当前文档的加载项,但尚未通过其菜单或UI使用加载项。您可以完全访问文档UI,并可以访问用户属性服务。