Stackdriver Logging 无法识别来自 Team Drive 的 Google Apps Script 项目

Stackdriver Logging not recognizing Google Apps Script project from Team Drive

我在个人 Google 驱动器中使用 Google Apps 脚本实现标准文档绑定功能。对于调试和打印一般信息,我使用 console.log() 调用并查看该特定项目的 Stackdriver 日志输出。

我最近将许多文档及其相关代码项目复制到一个新的团队驱动器中。新文件是全新的(未共享到团队驱动器中)并且它们的创建者与原始文件不同。

现在,在尝试查看日志输出时,Stackdriver Logging 向我提供了以下错误消息:

Failed to load

Tracking Number: XXXXXXXXXXXXXXXXXXX

此外,页面顶部的“Select 一个项目”下拉列表没有列出任何项目。

我试过在团队驱动器中创建一个全新的脚本项目,但也没有出现。 Stackdriver 页面 登录到正确的帐户。

我知道其他解决方案,例如 Logger.log(),但我宁愿不求助于它们,除非我无法让 Stackdriver 再次工作。

编辑:我找到了this question,其中包括这句话:

I have reset the script's Cloud project to be a "real" project (as opposed to the default hidden one).

这听起来很重要,但我不知道这意味着什么,也找不到任何与隐藏项目相关的信息。这是我的问题吗?

我找到了解决办法,虽然我不完全理解它。

Google Apps 脚本项目在幕后与隐藏的 Google Cloud Platform 项目相关联,这允许它们打印到 Stackdriver Logging 等。尝试将他们 运行 从团队驱动器中删除会使这不起作用,原因对我来说是个谜。

修复如下:

  • 手动创建一个新的 Google Cloud Platform 项目。

  • 将您的脚本与新项目相关联。在脚本编辑器中,转到 资源 > 云平台项目。在对话框中,输入您刚刚创建的项目的项目编号,然后点击 Set Project。要查找项目编号(与 "Project ID" 不同),请单击 View API Console,然后确保在顶部选择了新项目页面。

每个 GAS 项目都需要这样做。而在 Drive 中,单独的项目通常不能合并为一个,因为每个项目都绑定到一个文档,而您的所有 GAS 项目都可以与一个 Google Cloud Platform 项目相关联。