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

如何在Google Apps Script中设置Gmail自定义星标样式

在Google Apps Script中设置Gmail自定义星标

Gmail的自定义星标(如red-bang、yellow-bang、green-check)本质是系统标签,无法通过GmailApp的star()/unstar()方法直接设置,需要借助Gmail API实现。以下是具体步骤和代码示例:

1. 启用Gmail API

在脚本编辑器中:

  • 点击左侧菜单的「服务」→「添加服务」
  • 选择「Gmail API」并启用

2. 获取自定义星标的标签ID

每个自定义星标对应唯一的系统标签ID,先通过以下函数获取目标星标的ID:

function getCustomStarLabelId(starDisplayName) {
  const allLabels = Gmail.Users.Labels.list('me').labels;
  for (const label of allLabels) {
    // 匹配Gmail中自定义星标的显示名称,例如"Red bang"对应red-bang样式
    if (label.name === starDisplayName) {
      return label.id;
    }
  }
  return null;
}

注:自定义星标的显示名称可在Gmail设置→「星标」中查看,例如red-bang对应名称是"Red bang",yellow-bang是"Yellow bang"。

3. 给指定邮件设置自定义星标

编写函数实现添加/替换自定义星标:

function setCustomStar(message, starLabelId) {
  const messageId = message.getId();
  // 获取邮件当前的所有标签
  const currentLabels = Gmail.Users.Messages.get('me', messageId).labelIds;
  
  // 筛选出所有星标类标签(自定义星标和普通星标都属于系统标签,ID以Label_开头)
  const starRelatedLabels = currentLabels.filter(id => id.startsWith('Label_'));
  
  // 移除现有星标,添加目标自定义星标(如需保留普通星标,可移除这行过滤逻辑)
  const labelUpdate = {
    removeLabelIds: starRelatedLabels,
    addLabelIds: [starLabelId]
  };
  
  // 调用API修改邮件标签(即设置自定义星标)
  Gmail.Users.Messages.modify(labelUpdate, 'me', messageId);
}

4. 在循环中批量处理邮件

结合你的现有逻辑,遍历邮件并设置自定义星标:

function processPriorityMessages() {
  // 示例:搜索收件箱中需要处理的邮件,替换为你的搜索条件
  const targetThreads = GmailApp.search('in:inbox has:attachment');
  
  for (const thread of targetThreads) {
    const messages = thread.getMessages();
    for (const thisMessage of messages) {
      // 获取yellow-bang星标的ID
      const yellowBangId = getCustomStarLabelId('Yellow bang');
      if (yellowBangId) {
        setCustomStar(thisMessage, yellowBangId);
      }
    }
  }
}

注意事项

  • 首次运行脚本时需要授权,按照提示完成OAuth授权流程。
  • 如果需要保留邮件原有的普通星标,可修改setCustomStar函数中的removeLabelIds逻辑,只移除其他自定义星标而非所有星标类标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:31:05