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

Google Classroom API邀请邮件无法发送问题求助

问题分析与解决方案

核心问题:未发布课程无法触发邀请邮件

你的代码中创建课程时设置了"courseState": "PROVISIONED",这个状态下的课程属于未发布状态——仅课程所有者可见,Google Classroom不会为未发布课程的邀请发送邮件,受邀用户也无法在首页看到该课程,这就是为什么课程「人员」标签显示「已邀请」但用户收不到邮件的根本原因。

修复步骤

1. 修改课程状态为已发布

将课程状态从PROVISIONED改为ACTIVE,发布后的课程才能正常触发邀请邮件,且受邀用户能在首页看到课程:

course_data = request.session.get('course_data', {
    'name': 'Default Course Name',
    'section': 'Default Section',
    'descriptionHeading': 'Default Heading',
    'description': 'Default Description',
    "courseState": "ACTIVE",  # 替换为ACTIVE
})

如果需要先完成课程配置再发布,也可以先创建PROVISIONED状态的课程,配置完成后调用接口更新状态,再发送邀请:

# 创建课程后更新状态为已发布
course_update = {"courseState": "ACTIVE"}
service.courses().patch(id=course['id'], updateMask='courseState', body=course_update).execute()

2. 验证OAuth权限配置

确保你的OAuth 2.0客户端已申请以下必要权限:

  • classroom.courses.create(创建课程权限)
  • classroom.invitations.create(发送邀请权限)
  • classroom.rosters.readonly(查看课程人员状态权限)
    权限缺失可能导致API返回成功但实际未触发邮件发送流程。

3. 检查邀请参数正确性

  • 确认userId使用的是有效的Google Workspace或个人Google账号邮箱,API支持直接用邮箱作为userId参数;
  • 确保role参数取值正确(STUDENT或TEACHER),错误的角色可能导致用户无法正常接收邀请。

额外排查点

  • 发送邀请后可调用invitations.get接口验证邀请状态,确认邀请已成功创建;
  • 提醒受邀用户检查垃圾邮件文件夹,部分情况下邀请邮件可能被归类为垃圾邮件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:00:54