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

如何通过AppScript获取Gmail中当前打开邮件的ID?

如何通过AppScript获取Gmail中当前打开邮件的ID?

嘿,我之前刚好折腾过Gmail插件的类似需求,给你分享下亲测可行的解决办法!

当用户在Gmail中打开某封邮件时,你的Add-on可以通过触发函数的事件参数直接拿到当前邮件的ID,具体步骤如下:

1. 编写触发函数

创建一个专门处理邮件打开事件的函数,比如onGmailMessageOpen,通过事件对象e就能获取到当前邮件的ID:

function onGmailMessageOpen(e) {
  // 从事件参数中提取当前邮件的ID
  const currentMessageId = e.gmail.messageId;
  
  if (!currentMessageId) {
    console.log("哎呀,没拿到当前邮件的ID,可能是触发场景不对哦");
    return;
  }
  
  // 有了ID之后,就能拿到完整的邮件对象啦
  const targetMessage = GmailApp.getMessageById(currentMessageId);
  
  // 举个例子:提取邮件的主题、发件人信息
  const emailSubject = targetMessage.getSubject();
  const emailSender = targetMessage.getFrom();
  
  console.log(`当前打开的邮件主题:${emailSubject}`);
  console.log(`发件人:${emailSender}`);
  
  // 这里就可以加你自己的业务逻辑啦,比如提取邮件正文、附件信息等等
}

2. 配置插件的触发权限

你需要在插件的配置文件(appsscript.json)里声明必要的权限,以及指定触发事件。打开脚本编辑器的“查看”菜单,选择“显示manifest文件”,然后添加以下配置:

{
  "oauthScopes": [
    "https://www.googleapis.com/auth/gmail.addons.execute",
    "https://www.googleapis.com/auth/gmail.readonly"
  ],
  "gmail": {
    "name": "你的插件名称",
    "contextualTriggers": [
      {
        "unconditional": {},
        "onTriggerFunction": "onGmailMessageOpen"
      }
    ]
  }
}

3. 注意事项

  • 不要在脚本编辑器里直接运行这个函数哦!因为直接运行时没有事件参数e,会报错。你需要把插件部署成测试版本,然后在Gmail里打开一封邮件来测试。
  • 确保你的账号已经授权插件访问Gmail的权限,第一次使用时会弹出授权提示。

如果还有细节搞不定的话,随时留言问我哈!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 14:13:09