【GAS】GoogleAppsScript를 이용하여 GoogleClassroom에 코스를 작성한다(Courses.create)
11957 단어 GoogleClassroomGoogleAppsScript
오늘은 GoogleAppsScript(GAS)를 이용해 Google Classroom에서 코스를 만드는 방법에 대해 써 가고 싶습니다.
초보자용입니다만, javascript의 기본적인 룰은 눌러 두는 것이 이해하기 쉽다고 생각하기 때문에, 아직의 분은 Progate 로 바삭바닥과 javascript의 문법을 학습해 보세요.
또, 초보자가 수당 점차 코드를 써 보고 막힌 곳이나 그 때의 마음의 목소리 등도 힘들게 쓰고 있습니다. 방법만 살짝 알고 싶은 분은, 마지막 요약 를 참조해 주세요.
또,
ReferenceError: Classroom is not defined
라고 에러가 나 버린 분은, 이 기사 를 참고로 해 봐 주세요.그럼, 조속히 시도해 봅시다!
create 메소드를 우선 사용해 보려고 하지만 전혀 잘 안 된다
공식 문서 보다는, 우선 create 메소드가 있으므로 보자 보아서 사용해 본다.
function createCourse() {
Classroom.Courses.create();
}
Classroom.Courses.create
는 아니고, Classroom.create
그럼 안되는 이유는 잘 모릅니다 (확실히 공식 문서에는 그렇게 써 있습니다만, 왜인지는 이해하고 있지 않다).당연하지만 오류가 발생했습니다.
Exception: Invalid number of arguments provided. Expected 1-2 only
createCourse @ コード.gs:2
아무래도, 무효인 번호(=Invalid number)가 지정되어 있는 것 같다. 이만큼 읽어도 잘 모르겠다. 단지, 어떻게 봐도 파라미터가 부족할 것 같기 때문에, create의 인수에 무언가를 지정하지 않으면 안 되겠지~라고 추측.
클래스룸 공식 문서 를 보면, 코스에 지정할 수 있는 인수가 이렇게 많습니다. . .
{
"id": string,
"name": string,
"section": string,
"descriptionHeading": string,
"description": string,
"room": string,
"ownerId": string,
"creationTime": string,
"updateTime": string,
"enrollmentCode": string,
"courseState": enum (CourseState),
"alternateLink": string,
"teacherGroupEmail": string,
"courseGroupEmail": string,
"teacherFolder": {
object (DriveFolder)
},
"courseMaterialSets": [
{
object (CourseMaterialSet)
}
],
"guardiansEnabled": boolean,
"calendarId": string
}
이 정보, 전부 넣지 않으면 안 되는 거야? ? ?
그러고 보니 조금 오류 메시지에
Expected 1-2 only
라고 써 있었으므로, 1, 2개 넣으면 좋을지도 모릅니다.인수를 몇개 지정+newCourse 메소드를 우선 사용해 본다
클래스의 이름(name)과 ownerID(ownerId)만을 지정하고 있다 이 기사
function createCourse() {
//ひとまず新しいコースを作成
var course = Classroom.newCourse();
//以下、コースの情報を追記
course.name = 'GASテスト用クラス';
course.ownerId = '××××@gmail.com';//ご自身のGmailアドレスを入力してください。
// 上記で作成したコースをクラスルームに作成
Classroom.Courses.create(course);
}
실행해 보면,,, 무려 새로운 클래스가 작성되고 있었습니다! ! !
여기까지 도착하는데 어젯밤부터 오늘 아침에 걸쳐 3시간 이상 조사하고 있었으므로 감동입니다! ! ! (처음에도 뭘 하고 있습니다만 저는 프로그래밍 초보자입니다...)
그런데, 덧붙여서 코스의 이름만으로도 작성할 수 있는지 시험해 봅시다.
function createCourse() {
//ひとまず新しいコースを作成
var course = Classroom.newCourse();
//以下、コースの情報を追記
course.name = 'コースの名前だけで作成';
// 上記で作成したコースをクラスルームに作成
Classroom.Courses.create(course);
}
예, 오류가 발생했습니다.
오류 내용은 다음과 같습니다.
GoogleJsonResponseException: API call to classroom.courses.create failed with error: course.ownerId: You must specify an ownerId
ownerId는 필수인 것 같습니다.그럼 ownerId만으로 작성할 수 있는 것도 시도해 봅시다.
function createCourse() {
//ひとまず新しいコースを作成
var course = Classroom.newCourse();
//以下、コースの情報を追記
course.ownerId = '××××@gmail.com';//ご自身のGmailアドレスを入力
// 上記で作成したコースをクラスルームに作成
Classroom.Courses.create(course);
}
이것도 오류가 발생했습니다.
GoogleJsonResponseException: API call to classroom.courses.create failed with error: course.name: Course name must be specified.
코스의 이름도 필수인 것 같다. 즉, name과 ownerId를 지정하면 코스를 작성할 수 있는 것 같습니다.요약 - GoogleClassroom에서 코스를 만드는 방법
GoogleClassroom에서 새 코스를 만들려면,
①Classroom.newCourse에서 코스 만들기
② name과 ownerId의 정보 추가
③Classroom.Courses.create 실행
위의 방법으로 할 수 있습니다. 코드는 다음
function createCourse() {
//新しいコースを作成
var course = Classroom.newCourse();
//nameとownerIdを指定
course.name = 'コース名';
course.ownerId = '××××@gmail.com';//オーナーにする人のGmailアドレスを入力
// 上記で作成したコースをクラスルームに作成
Classroom.Courses.create(course);
}
이상, 참고가 되면 기쁩니다. Google Classroom API는 일본어의 정보가 적기 때문에, 앞으로도 여러가지 트라이 해 본 결과를 기사에 써 가고 싶습니다!
Reference
이 문제에 관하여(【GAS】GoogleAppsScript를 이용하여 GoogleClassroom에 코스를 작성한다(Courses.create)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/coticoticotty/items/e2779cf98c77a24c1a4c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)