我正在使用Google App Script开发应用程序并使用一些高级服务,例如Admin SDK(目录API)和转销商API。
似乎我的WebApp在访问我的WebApp的用户的上下文中调用了这些API(它使用'执行应用程序作为'用户访问webapp'来部署)。
理想情况下,我希望这些API的调用通过我的项目(在Dev Console中)的某些服务帐户进行身份验证。有可能吗?怎么样?
答案 0 :(得分:6)
当您的脚本以“用户访问网络应用程序”的形式运行时,它会根据您的配额运行用户数据。如果您想针对您的数据运行它,您需要更改设置以执行应用程序“我”。
如果您需要执行混合身份验证模型,其中应用需要访问两个不同帐户的数据,您可以选择一些选项。无论哪种方式,一个帐户都可以访问内置的Apps脚本服务,另一个帐户将使用REST接口访问API以访问其数据。
您可以将应用程序作为“我”运行,然后为用户管理您自己的Oauth。这可以通过OAuth库完成,例如:
https://github.com/googlesamples/apps-script-oauth2
或者您可以以用户身份运行应用程序并使用服务器的服务帐户。这是我在Apps脚本中使用服务帐户的一个库: