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

Google表单脚本添加邮箱至日历事件时出现ReferenceError: email is not defined错误的解决求助

Google表单脚本添加邮箱至日历事件时出现ReferenceError: email is not defined错误的解决求助

我本来以为这事挺简单的——我有个谷歌日历活动和一个仅包含邮箱输入字段的谷歌表单,想修改应用脚本实现:当用户提交表单里的邮箱地址后,自动把该用户添加到指定ID的谷歌日历活动中。

相关信息

  • 目标日历活动:归属日历邮箱为lb@emailindustries.com,事件ID为NmRsbDFvbGxmbHZnY2xhcHE3MWE5MWJ1bDEgbGJAZW1haWxpbmR1c3RyaWVzLmNvbQ
  • 谷歌表单:仅设置了一个邮箱输入字段,供用户提交邮箱

我编写的应用脚本

/**
 * Sends a calendar invite to the email address provided in the form response.
 *
 * @param {Object} e The form submit event object.
 */
function onFormSubmit(e) {
  // Get the form response.

  var itemResponses = e.response.getItemResponses();

  // Get the email address from the form response.  Assumes the *first* email field.
  //  Better would be to search by question title or ID.
  var email = "";
  for (var i = 0; i < itemResponses.length; i++){
    if (itemResponses[i].getItem().getType() === FormApp.ItemType.TEXT){
      email = itemResponses[i].getResponse();
      Logger.log(email);
      break; // Stop after finding the first email field.
    }
  }

  if (!email) {
    Logger.log("No email address found in the form response.");
    return; // Exit if no email is found.
  }

  // Get the calendar event.
  var calendarId = "lb@emailindustries.com"; // Your calendar ID
  var calendar = CalendarApp.getCalendarById(calendarId);
  Logger.log(calendar);
 const eventId = "NmRsbDFvbGxmbHZnY2xhcHE3MWE5MWJ1bDEgbGJAZW1haWxpbmR1c3RyaWVzLmNvbQ"
 
 try {
    const event = calendar.getEventById(eventId);

    event.addGuest(email);
    Logger.log("Invite sent to " + email);

    if (event) {
      event.addGuest(email);
      Logger.log(`Invited ${email} to event ${event.getTitle()}`);
      return `Successfully invited ${email} to ${event.getTitle()}.`; // Success message
    } else {
      Logger.log(`Event with ID ${eventId} not found.`);
      return `Error: Event not found.`; // Event not found message
    }
  } catch (error) {
    Logger.log(`Error inviting ${email}: ${error}`);
    return `Error inviting ${email}: ${error.message}`; // Detailed error message
  }
}

我已尝试的排查步骤

  • 确认应用脚本项目已启用Google Calendar V3 API的访问权限
  • 由于首次部署时未配置日历权限,后续重新完成了项目的授权操作
  • 试过将脚本中的变量名从email改为emailAddress,但依然触发完全相同的错误

现在我实在摸不着头脑,到底哪里出问题了?


备注:内容来源于stack exchange,提问作者LoriBeth Blair

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 03:18:19