【GAS】GoogleAppsScript를 사용하여 클래스룸에서 지정한 학생에게 과제를 배포하는 방법(CourseWork.create)

안녕하세요! GoogleAppsScript를 사용한 업무 효율화에 열중하는 초보자 프로그래머, 타로입니다.

오늘은 GoogleAppsScript(GAS)를 사용하여 클래스룸에 학생을 초대하는 방법에 대해 써 가고 싶습니다.

초보자용입니다만, javascript의 기본적인 룰은 눌러 두는 것이 이해하기 쉽다고 생각하기 때문에, 아직의 분은 Progate 로 바삭바닥과 javascript의 문법을 학습해 보세요.

또, 초보자가 수당 점차 코드를 써 보고 막힌 곳이나 그 때의 마음의 목소리 등도 힘들게 쓰고 있습니다. 방법만 살짝 알고 싶은 분은, 마지막 요약 를 참조해 주세요.

또, ReferenceError: Classroom is not defined 라고 에러가 나 버린 분은, 이 기사 를 참고로 해 봐 주세요.
그럼, 조속히 시도해 봅시다!

assigneeMode를 사용할 수 있습니다.



클래스룸에서 드라이브 문제를 배포하는 방법 (CourseWork.create) 의 기사로 쓴 방법을 조금만 돌아가면 갈 수 있을 것 같은 생각이 듭니다. 공식 문서 을 확인하면 과제를 작성할 때 모든 학생에게 배포할지, 개별 학생에게 배포할지 선택할 수 있는 키, assigneeMode 라는 것이 있는 것 같다. 이 값으로 ALL_STUDENTS를 선택하면 모든 학생에게 배포할 수 있습니다. 덧붙여서 이 모드가 디폴트인 것 같습니다. INDIVIDUAL_STUDENTS 를 선택하면 지정한 학생 목록에 과제를 배포할 수 있을 것 같습니다.
다만, 학생의 지정 방법이 여기에는 쓰고 있지 않습니다만, 바로 다음에 있군요!individualStudentsOptions 라는 키입니다.
앞의 assigneeMode="INDIVIDUAL_STUDENTS" 때만 지정한 학생 목록에만 과제를 배포할 수 있는 것 같습니다.individualStudentsOptions 안에 학생 ID를 배열로 전달할 수 있습니다.
이런 것입니다.
individualStudentsOptions:{
  "studentIds": [studentid1, studentid2, studentid3, ・・・] 
}

그러면, GAS 타로와 GAS 지로와 GAS 사부로의 3명이 참가하고 있는 이 클래스에서, 타로와 지로에게만 과제를 배포해 보고 싶습니다(네이밍 센스의 함에는 돌진하지 말아 주세요).

라고 말해도, 이하의 기사의 과제를 작성할 때에 건네주는 파라미터에 assigneeModeindividualStudentsOptions 를 더해 주면 좋을 것.
클래스룸에서 드라이브 문제를 배포하는 방법 (CourseWork.create)
function createCourseWork() {
  var targetCourseId = '××××'//課題を配布するコースを選択
  var createAssignment = {
    title: '特定の生徒に課題を配布する',
    state: 'PUBLISHED',
    workType: 'ASSIGNMENT',
    materials: [{
      "driveFile": {
        "driveFile": {"id": "××××"}//課題として配布するファイルのIDを取得
        }
      }],
    assigneeMode: "INDIVIDUAL_STUDENTS",
    individualStudentsOptions: {
      "studentIds": ['××××@××××', '××××@××××']//GAS太郎とGAS次郎のgmailメールアドレスを入力
    }
  };
  Classroom.Courses.CourseWork.create(createAssignment, targetCourseId);
}

그럼 이것으로 실행합시다!

할 수 있었습니다! ! ! 타로와 지로에게만 과제가 배포되고 있습니다! ! !
아니~~~, 새로운 코스를 작성하거나 삭제할 때에 굉장히 막혔습니다만, 점점 클래스룸의 API에 익숙해 왔을지도 모릅니다!
마지막, 정리합니다!

요약 - 클래스룸에서 지정한 학생에게 과제를 배포하는 방법



클래스룸에서 지정한 학생에게만 과제를 배포하고 싶은 경우는, CourseWork.create 메소드를 실행할 때에 assigneeModeINDIVIDUAL_STUDENTS 로 해 individualStudentsOptions !
function createCourseWork() {
  var targetCourseId = '××××'//課題を配布するコースを選択
  var createAssignment = {
    title: '○○○○',//課題のタイトルを入力
    state: 'PUBLISHED',
    workType: 'ASSIGNMENT',
    materials: [{
      "driveFile": {
        "driveFile": {"id": "××××"}//課題として配布するファイルのIDを入力
        }
      }],
    assigneeMode: "INDIVIDUAL_STUDENTS",
    individualStudentsOptions: {
      "studentIds": ['××××@××××', '××××@××××', '××××@××××', ・・・]//課題を配布したい生徒のアドレスを入力
    }
  };
  Classroom.Courses.CourseWork.create(createAssignment, targetCourseId);
}

이상, 참고가 되면 기쁩니다. Google Classroom API는 일본어의 정보가 적기 때문에, 앞으로도 여러가지 트라이 해 본 결과를 기사에 써 가고 싶습니다!

좋은 웹페이지 즐겨찾기