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

如何将Google Sheets游戏日志记录至独立电子表格?

解决Google Sheets Apps Script访问外部表格的问题

错误原因分析

你遇到的报错核心有两个问题:

  1. ID使用错误:SpreadsheetApp.openById()需要传入的是整个电子表格的ID,而你误用了工作表的gid(1154300080)。从你提供的链接里,正确的电子表格ID是1fTE_TnuysR5LKbyPDzPxU63hOu6BISH6YYJ0udoViZA。
  2. 权限未授权:脚本访问外部表格需要额外的权限,首次运行时必须完成授权流程。

修正后的代码示例

// Function to submit the tempt fate gameplay data to Log sheet
function submitDatatemptfate() {
  var myGoogleSheet = SpreadsheetApp.getActiveSpreadsheet();
  var Game = myGoogleSheet.getSheetByName("Game");

  // 使用正确的外部电子表格ID,再获取目标工作表
  var logSpreadsheet = SpreadsheetApp.openById("1fTE_TnuysR5LKbyPDzPxU63hOu6BISH6YYJ0udoViZA");
  var Log = logSpreadsheet.getSheetByName("你的日志工作表名称"); // 替换成外部表格里的日志工作表名

  var ui = SpreadsheetApp.getUi();
  var response = ui.alert("Last chance...", 'Are you sure you want to Tempt Fate?', ui.ButtonSet.YES_NO);

  if (response == ui.Button.NO) {
    return;
  }

  // 示例:将Game表A1单元格内容+时间戳写入日志表
  var userChoice = Game.getRange("A1").getValue();
  var timestamp = new Date();
  Log.appendRow([timestamp, userChoice]);
}

关键步骤说明

  1. 获取正确的电子表格ID:
    打开外部日志表格,从浏览器地址栏提取d/和/edit之间的字符串,就是表格ID。
  2. 完成权限授权:
    第一次运行修正后的脚本时,会弹出授权提示。按流程完成授权(允许脚本访问你的Google Drive文件),否则无法访问外部表格。
  3. 确认工作表名称:
    确保getSheetByName()传入的是外部表格中实际存在的日志工作表名称,大小写、拼写需完全匹配。

常见排查点

  • 若授权后仍报错,检查外部表格的共享权限:确保运行脚本的Google账号拥有该表格的编辑权限。
  • 核对代码中所有标识符的拼写,包括表格ID、工作表名称、函数名等。

内容的提问来源于stack exchange,提问作者A.Bully

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 17:22:05