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

移除gmail.settings.basic后GmailApp.createDraft仍报错,需何调整?

问题:移除gmail.settings.basic后GmailApp.createDraft权限报错

我有一个已验证的Gmail插件,原本使用受限范围gmail.settings.basic,收到谷歌的重新验证通知。我找到了无需受限范围的简化方案,于是移除了项目OAuth同意屏幕和插件appscript.json中的gmail.settings.basic,并以测试模式部署插件。但调用GmailApp.createDraft时仍报错:

Exception: The script does not have permission to perform that action. Required permissions: (
https://www.googleapis.com/auth/gmail.settings.basic ||
https://www.googleapis.com/auth/gmail.readonly ||
https://www.googleapis.com/auth/gmail.modify ||
https://mail.google.com/)

我未在文档中找到GmailApp.createDraft需要gmail.settings.basic的说明,这也不符合逻辑。请问还需要进行哪些调整才能不再依赖gmail.settings.basic?


解决方案
  • 补全appscript.json的权限配置
    GmailApp.createDraft需要的是https://www.googleapis.com/auth/gmail.modify权限,而非gmail.settings.basic。确保appscript.json的oauthScopes数组中已添加该权限,示例配置:

    {
      "oauthScopes": [
        "https://www.googleapis.com/auth/gmail.modify"
      ],
      // 其他插件配置项
    }
    
  • 重新部署并刷新授权

    1. 保存appscript.json修改后,新建一个测试部署版本(不要直接更新旧部署)。
    2. 卸载当前已安装的测试插件,清除浏览器缓存后重新安装,确保系统获取到新的权限范围。
  • 排查隐藏的权限触发代码
    检查脚本中是否存在间接调用邮箱设置的代码(哪怕是注释掉的片段),这类代码可能被Google权限扫描机制检测到,导致误判需要gmail.settings.basic,彻底移除相关内容。

  • 同步OAuth同意屏幕权限
    进入Google Cloud控制台的OAuth同意屏幕设置,确认已删除gmail.settings.basic权限,同时添加gmail.modify权限,保存后重新同步项目权限配置。

  • 通过脚本编辑器触发权限检测
    打开App Script编辑器,点击「运行」→「测试作为插件」,此时系统会自动检测所需权限并弹出授权提示,确认授权列表中仅包含gmail.modify等必要权限,无gmail.settings.basic。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:32:22