google-apps-script - 如何将 OAuth 范围解析为 GSheet 并调用 GClassroom 函数,以便获取分配数据并发布到 GSheet?
问题描述
我不知道 JSON,所以我正在尝试用 GScript 编写代码。我想结合对这个函数的调用,该函数从将数组信息发布到 GSheet 的工作脚本函数中获取课堂信息。
我第一次运行下面的脚本时,我触发了 API 身份验证并获得了我需要的信息,尽管只在 Logger 中。
var email = "my_email@something.org";
function countWork(email) {
var courseId = "valid_courseId";
var data = ""; // String of resulting information from loop below
var assignments = Classroom.Courses.CourseWork.list(courseId);
var length = assignments.courseWork.length;
// Loop to gather info
for (j = 0; j < length; j++) {
var assignment = assignments.courseWork[j];
var title = assignment.title;
var created = assignment.creationTime;
Logger.log('-->Assignment No. %s -->%s -->(%s)',j+1,title,created);
}
return data;
}
但由于某种原因,我无法在此版本的脚本上使用 OAuth 范围,在该版本中,我替换了发布到 GSheet 所需的数组。我收到错误消息“教室未定义(第 7 行...)。” 我需要做什么才能识别 Classroom.Courses.etc?
var email = "my_email@something.org";
function extractAssignmentData(email) {
var courseId = "valid_courseId"; //
var data = []; // Array of resulting information from loop below
var assignments = Classroom.Courses.CourseWork.list(courseId); // error: Classroom is not defined (line 7)
var length = assignments.courseWork.length;
// Loop to gather data
for (j = 0; j < length; j++) {
var assignment = assignments.courseWork[j];
// types of information: description, creationTime, updateTime, dueDate, dueTime, workType
var title = assignment.title;
var created = assignment.creationTime;
var info = [j+1,title,created];
data.push(info);
}
return data;
}
解决方案
非常感谢,Tanaike,您的有用回复!
根据您的建议,我找到了这篇文章,其中明确描述了如何查阅清单文件,以及如何将范围合并到 appsscript.json 中。
我仍然不确定为什么脚本的第一个版本触发了范围
“ https://www.googleapis.com/auth/classroom.coursework.students ”
而第二个添加了这个:
“ https://www.googleapis.com/auth/classroom.coursework.me.readonly ”
但是,因为我现在知道如何添加我需要的内容并且可以访问我需要的课堂信息,所以这是一个静音点。再次感谢!(我不确定如何将您的评论标记为我问题的答案——您应该得到分数!)
推荐阅读
- php - PHP中str_replace的未解决问题
- java - java映射特殊字符的问题
- python-3.x - Python ctype struct with array of structs
- java - 如何打开此模块战争项目以将其作为“在服务器上运行”运行
- laravel - Laravel 有官方的 CKEditor 吗?
- regex - 性格类:急切消极还是懒惰积极?
- curl - How to allow a slack post uploaded via curl to be editable by others
- java - is there any way to exclude classes to attain coverage %?
- c# - Worksheet to .net Dataset
- swift - Error: "Could not find a storyboard named 'main' in bundle NSBundle"