[GAS] Google AppsScript를 사용하여 스프레드 시트 목록에서 클래스 룸에서 문제를 배포하는 방법 (CourseWork.create)
오늘은 GoogleAppsScript(GAS)를 사용하여 클래스룸에 학생을 초대하는 방법에 대해 써 가고 싶습니다.
초보자용입니다만, javascript의 기본적인 룰은 눌러 두는 것이 이해하기 쉽다고 생각하기 때문에, 아직의 분은 Progate 로 바삭바닥 javascript의 문법을 학습해 보세요.
또, 초보자가 수당 점차 코드를 써 보고 막힌 곳이나 그 때의 마음의 목소리 등도 힘들게 쓰고 있습니다. 하는 방법만 빨리 알고 싶은 분은, 마지막 요약 (을)를 참조해 주세요.
또한
ReferenceError: Classroom is not defined
와 오류가 발생한 경우 이 기사을 참조하십시오.그럼, 조속히 시도해 봅시다!
스프레드시트에서 학생 목록 가져오기
먼저 스프레드시트에서 학생 ID를 가져옵니다.
원하는 데이터는
열의 2행부터 8행에 저장되어 있으므로, 그 범위의 데이터를 취득합시다.
function createCourseWork () {
var studentListSheetUrl = '取得したいスプレッドシートのURL';
var studentListSheet = SpreadsheetApp.openByUrl(studentListSheetUrl).getSheetByName('取得したいシート名');
var studentList = studentListSheet.getRange(2, 1, 7, 1).getValues().flat();//取得したい範囲のデータを取得し、1次元の配列に変える
}
이제 변수
studentList
에 학생 이메일 주소의 배열을 가져올 수 있었습니다. studentList 안을 출력하면[××××@gmail.com, ××××@gmail.com,・・・]
이런 느낌으로 1차원 배열로 되어 있습니다.flat()
를 지정하지 않으면 [[××××@gmail.com], [××××@gmail.com],・・・]
이런 식으로 배열 안에 배열이 있는, 2차원 배열이 되어 버리는군요. 과제를 배포하는 학생을 지정한다studentIds
에는 1차원의 배열을 넣기 때문에, 그대로라고 넣을 수 없습니다. 그런 이유로 flat()
로 1차원 배열로 해 봅시다.취득한 학생 ID로부터 과제 배포
그런데, ID를 취득할 수 있으면, 나머지는 클래스룸에서 지정한 학생에게 과제를 배포하는 방법 에 쓴 대로로 좋고,
studentId
에 취득한 studentList 를 건네주면 과제를 배포할 수 있습니다.function createCourseWork () {
var studentListSheetUrl = '取得したいスプレッドシートのURL';
var studentListSheet = SpreadsheetApp.openByUrl(studentListSheetUrl).getSheetByName('取得したいシート名');
var studentList = studentListSheet.getRange(2, 1, 7, 1).getValues().flat();//取得したい範囲を指定
var targetCourseId = '××××'//課題を配布するコースのIDを入力
var createAssignment = {
title: '××××',//配布する課題のタイトルを入力
state: 'PUBLISHED',
workType: 'ASSIGNMENT',
materials: [{
"driveFile": {
"driveFile": {"id": "××××"},//課題として配布するファイルのIDを取得
"shareMode": 'STUDENT_COPY'
}
}],
assigneeMode: "INDIVIDUAL_STUDENTS",
individualStudentsOptions: {
"studentIds": studentList//スプレッドシートから取得した生徒のIDリストを渡す
}
};
Classroom.Courses.CourseWork.create(createAssignment, targetCourseId);
}
이상, 참고가 되면 기쁩니다. Google Classroom API는 일본어의 정보가 적기 때문에, 앞으로도 여러가지 트라이 해 본 결과를 기사에 써 가고 싶습니다!
Reference
이 문제에 관하여([GAS] Google AppsScript를 사용하여 스프레드 시트 목록에서 클래스 룸에서 문제를 배포하는 방법 (CourseWork.create)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/coticoticotty/items/98e84806901fdb382a03텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)