将高级Google服务与服务帐户配合使用

Doi*_*nal 4 google-apps-script

我正在使用Google App Script开发应用程序并使用一些高级服务,例如Admin SDK(目录API)和Reseller API.

看起来这些API是由我的WebApp在访问我的WebApp的用户的上下文中调用的(它使用'执行应用程序作为'用户访问webapp'来部署).

理想情况下,我希望这些API的调用通过我的项目(在Dev Console中)的某些服务帐户进行身份验证.有可能吗?怎么样?

Spe*_*ton 7

当您的脚本以"用户访问webapp"运行时,它会根据您的配额运行用户数据.如果您想针对您的数据运行它,您需要更改设置以执行应用程序"我".

如果您需要执行混合身份验证模型,其中应用程序需要访问两个不同帐户的数据,您可以选择一些选项.无论哪种方式,一个帐户都可以访问内置的Apps脚本服务,另一个帐户将使用REST接口访问API以访问其数据.

您可以将应用程序作为"我"运行,然后为用户管理您自己的Oauth.这可以通过OAuth库完成,例如:

https://github.com/googlesamples/apps-script-oauth2

或者,您可以以用户身份运行应用程序并使用服务器的服务帐户.这是我在Apps脚本中使用服务帐户放在一起的库:

https://github.com/Spencer-Easton/Apps-Script-GSApp-Library

  • 如果您希望使用服务帐户,我会更新指向我的新Google服务帐户库的链接. (2认同)