【问题标题】:Google Apps Script event object is undefined in my Gmail add-on我的 Gmail 插件中未定义 Google Apps 脚本事件对象
【发布时间】:2021-12-05 10:44:31
【问题描述】:

问题是我的函数接收到一个未定义的事件对象。你能告诉我有什么问题吗?

函数如下:

function onGmailMessageOpen(event) {
  const { accessToken, messageId } = event.commonEventObject;
  return buildCard();
}

这是 appsscript.json 清单:

{
  "timeZone": "Europe/Kiev",
  "dependencies": {
    "enabledAdvancedServices": [
      {
        "userSymbol": "Gmail",
        "version": "v1",
        "serviceId": "gmail"
      }
    ]
  },
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": [
    "https://mail.google.com/",
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/gmail.addons.execute",
    "https://www.googleapis.com/auth/gmail.addons.current.message.readonly",
    "https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
    "https://www.googleapis.com/auth/gmail.metadata"
  ],
  "gmail": {
    "name": "Contacts",
    "logoUrl": "https://lh4.googleusercontent.com/dfdvUXkVaB8yVTsrnuFagTy9YDvEPz3jqJWhFNpxKbbJhq7kdOTkwfoSEtn4VBOb9tZ_B6DT3Q-L4wU5Cw-FCcYY4fISn29OkcBOCwp69q5GxI4AM2WXHHk6kaQtgA",
    "contextualTriggers": [
      {
        "unconditional": {},
        "onTriggerFunction": "onGmailMessageOpen"
      }
    ],
    "primaryColor": "#547dbf"
  },
  "runtimeVersion": "V8",
  "webapp": {
    "executeAs": "USER_ACCESSING",
    "access": "ANYONE"
  }
}

【问题讨论】:

  • 自定义函数在哪里?
  • 函数 onGmailMessageOpen(event) { const { accessToken, messageId } = event.commonEventObject;返回构建卡(); }
  • 你能告诉我们更多的上下文吗?
  • 你是如何运行这个函数的?

标签: google-apps-script gmail add-on


【解决方案1】:

函数声明function onGmailMessageOpen(event) {/**/} 表明您的函数旨在接收正确填充的event 对象。

不要直接在脚本编辑器中运行代码。如果这样做,event 对象将无法正确填充,从而导致您提到的错误。

您应该做的是让 Google 的代码在用户在 UI 中打开消息时调用该函数。像这样调用时,event object 将被正确填充。

【讨论】:

  • 非常感谢。我真的尝试通过沙箱测试事件。
猜你喜欢
  • 2018-11-06
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多