首页 > 解决方案 > 如何使用 Google API 服务库 (Node.js) 运行 Google App 脚本

问题描述

通过遵循 Google Apps Script > Rest API Node.js 快速入门示例,我能够完成身份验证过程(点击链接,获取令牌,存储令牌)

但脚本执行失败并显示错误消息

The API returned an error: Error: Project title may not be empty.

project.create() 的文档表明请求正文只需要包含快速入门所具有的 {title:string}。

仔细检查 Google Apps 脚本 API 是否已启用 = 是,但 api 启用页面显示了一些不应该显示的 html 代码,并且该页面概述部分中的启用它以供使用url已损坏。

我很确定 API 已启用,因为我在 console.cloud 中看到了流量

该方法看起来像这样。

  script.projects.create({
    auth,
    resource: {
      title: 'My Script'
    }
  });

我还尝试了 auth: auth 因为这是我在其他地方看到的工作(相同的错误消息)

错误堆栈如下所示。 在此处输入图像描述

换句话说,我完全按照快速入门并检查了功能文档无济于事,有人可以帮忙吗?

标签: node.jsgoogle-apps-script

解决方案


我认为您的请求正文有效。那么你能确认以下几点吗?

  1. 你用的是什么版本?在我的环境中,无法使用 v25.0.0 - v30.0.0 的 googleapis。我确认带有 v24.0.0 的 googleapis 可以正常工作。
    • 当您使用 v24.0.0 时,如果您的脚本使用var {google} = require('googleapis');. 请修改为var google = require('googleapis');.
  2. 请确认此页面https://script.google.com/home/usersettings 如果开关关闭,请打开。这样,就可以使用 Google Apps Script API。当开关关闭时,即使 Google Apps Script API 的范围被授权,用户也不能使用这些 API。

笔记 :

  • 不幸的是,在 v25.0.0 版本之后,报告了一些 API 和选项的错误。我相信这些错误将来会被删除。所以如果API和你使用的选项出现一些错误,请修改googleapis的版本,然后重试。

参考 :

如果这些要点对您的情况没有用,我很抱歉。


推荐阅读