You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Node.js调用部署为API可执行文件的Google Apps Script

本地Node.js调用Google Apps Script可执行API示例

前置依赖安装

首先安装Google官方Node.js客户端库:

npm install googleapis

完整调用示例代码

替换代码中的占位符为你实际的信息即可运行:

const { google } = require('googleapis');

// 配置信息,替换为你的实际数据
const CONFIG = {
  SCRIPT_ID: '你的Google Apps Script的Script ID',
  SERVICE_ACCOUNT_EMAIL: '你的服务账号邮箱(格式如xxx@xxx.iam.gserviceaccount.com)',
  SERVICE_ACCOUNT_PRIVATE_KEY: '你的服务账号私钥(直接从JSON密钥文件复制即可)'
};

// 初始化JWT认证客户端
const auth = new google.auth.JWT(
  CONFIG.SERVICE_ACCOUNT_EMAIL,
  null,
  CONFIG.SERVICE_ACCOUNT_PRIVATE_KEY.replace(/\\n/g, '\n'), // 处理私钥中的转义换行符
  ['https://www.googleapis.com/auth/script.projects', 'https://www.googleapis.com/auth/spreadsheets'] // 所需权限范围
);

// 调用Apps Script方法的核心函数
async function callAppsScriptFunction() {
  try {
    // 初始化Script API客户端
    const script = google.script({ version: 'v1', auth });

    // 调用指定的Apps Script函数,替换为你的实际函数名和参数
    const response = await script.scripts.run({
      scriptId: CONFIG.SCRIPT_ID,
      requestBody: {
        function: '你的Apps Script函数名', // 比如操作表格的readSheetData、updateCell等
        parameters: ['参数1', 2, { key: 'value' }] // 函数所需参数,无参数可省略此字段
      }
    });

    // 处理返回结果
    if (response.data.error) {
      console.error('调用出错:', response.data.error.details);
    } else {
      console.log('调用成功,返回结果:', response.data.response.result);
    }
  } catch (err) {
    console.error('请求异常:', err.message);
  }
}

// 执行调用
callAppsScriptFunction();

关键配置与注意事项

  • 服务账号权限配置:必须将你的服务账号邮箱添加到目标Google表格的共享列表中,授予对应权限(比如编辑权限,根据脚本操作需求调整)。
  • Apps Script部署设置:确认部署时的权限选项符合需求:
    • 选“任何人,甚至匿名”可无需认证(不建议生产环境使用);
    • 选“特定用户”需确保服务账号邮箱在允许列表内。
  • 私钥格式处理:从JSON密钥文件复制的私钥可能包含转义\n,代码中通过replace(/\\n/g, '\n')还原真实换行符,避免认证失败。

常见问题排查

  • 认证失败:检查服务账号邮箱、私钥是否正确,权限范围是否包含script.projects和spreadsheets。
  • 函数调用报错:确认Apps Script中的函数名拼写完全一致,参数类型、数量与函数定义匹配。
  • 权限不足:检查表格共享权限是否授予服务账号,以及Apps Script部署的权限设置是否允许当前账号访问。

内容的提问来源于stack exchange,提问作者elena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 02:25:51