如何使用Google Apps Script将Classroom的Google Meet链接导出到Google Sheet
Google Classroom班级Meet链接导出到Google Sheet实现方案
前置要求
- 你登录的Google账号对目标Classroom班级拥有教师/管理员权限
- 准备好用于存储导出数据的空白Google Sheet
操作步骤
- 打开目标Google Sheet,点击顶部菜单栏「扩展程序」→「Apps脚本」进入脚本编辑器
- 删除编辑器中默认的
myFunction模板代码,粘贴下文给出的完整脚本代码 - 点击编辑器顶部的保存按钮,自定义项目名称(如「Classroom Meet导出工具」)
- 点击编辑器顶部的运行按钮,首次运行需要完成权限验证:
权限验证步骤:点击「查看权限」→选择你的Google账号→点击「高级」→点击「前往[你的项目名]」→授予Classroom和Sheet的编辑权限,该安全提示是个人未发布脚本的正常提示,不存在安全风险。如果弹出需要开启Classroom API的提示,按照提示点击开启即可
- 运行完成后返回Google Sheet,即可看到所有班级的Meet链接已完成导出
完整脚本代码
function exportClassMeetLinksToSheet() { // 获取当前操作的Google Sheet对象 const activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 清空原有内容并写入表头 activeSheet.clearContents(); const tableHeaders = ["班级名称", "班级ID", "Google Meet链接", "班级状态"]; activeSheet.appendRow(tableHeaders); // 调用Classroom API获取有权限的班级列表 const courseList = Classroom.Courses.list({ teacherId: "me", courseStates: ["ACTIVE"] }).courses; // 无班级时弹出提示 if (!courseList || courseList.length === 0) { SpreadsheetApp.getUi().alert("未查询到你有权限访问的班级"); return; } // 遍历班级收集对应Meet链接数据 const exportData = []; courseList.forEach(course => { const meetLink = course.meetingLink || "未设置Meet链接"; exportData.push([ course.name, course.id, meetLink, course.courseState ]); }); // 批量写入数据到表格 activeSheet.getRange(2, 1, exportData.length, tableHeaders.length).setValues(exportData); // 自动适配列宽 activeSheet.autoResizeColumns(1, tableHeaders.length); SpreadsheetApp.getUi().alert(`导出完成,共获取${exportData.length}个班级的数据`); }
自定义调整说明
- 需要导出归档等其他状态的班级时,修改
courseStates参数的取值,支持的状态值包括ACTIVE、ARCHIVED、PROVISIONED、DECLINED、SUSPENDED - 域管理员需要导出全域所有班级数据时,删除
teacherId: "me"这一行即可 - 若需要固定导出到指定Sheet页,可将
getActiveSheet()改为getSheetByName("你要的Sheet名称")
内容的提问来源于stack exchange,提问作者Ngô Sĩ Liên THCS
相关产品推荐
相关产品推荐

