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

如何配置带管理员同意的Google服务账号OAuth以实现域级代发邮件

Google Workspace 全域代发邮件OAuth方案

可以通过**服务账号+域范围委派(Domain-Wide Delegation)**实现管理员一次性授权,让服务账号获得整个Workspace的代发权限,无需逐一审批单个用户权限。具体操作如下:

核心配置流程

  • 创建并配置服务账号
    1. 在Google Cloud控制台创建服务账号,生成并下载JSON格式的密钥文件
    2. 为该服务账号启用「域范围委派」,记录生成的客户端ID
  • 完成域级授权
    1. 登录Google Workspace管理控制台,进入「安全」>「API控制」>「域范围委派」
    2. 添加刚才记录的服务账号客户端ID,同时填入所需的OAuth权限范围(比如https://www.googleapis.com/auth/gmail.send)
    3. 管理员提交后即完成全域授权,无需再逐个用户审批权限

关键注意事项

  • 你声明的权限范围必须是Google Workspace支持域级委派的范围,Gmail发送权限(gmail.send)属于支持范畴
  • 授权时需一次性填入所有需要的权限范围,确保服务账号能覆盖所需操作

代码实现思路

通过服务账号密钥模拟域内用户身份发送邮件,示例逻辑:

from google.oauth2 import service_account
from googleapiclient.discovery import build

# 配置参数
SCOPES = ['https://www.googleapis.com/auth/gmail.send']
SERVICE_ACCOUNT_KEY_PATH = './service-account-key.json'
TARGET_USER_EMAIL = 'user@your-domain.com'

# 生成委派凭证
credentials = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_KEY_PATH, scopes=SCOPES)
delegated_creds = credentials.with_subject(TARGET_USER_EMAIL)

# 初始化Gmail服务并发送邮件
gmail_service = build('gmail', 'v1', credentials=delegated_creds)
# 此处添加邮件构造与发送的API调用逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:12:11