수업 초대 관리하기

클래스룸의 초대 리소스는 사용자에게 특정 과정 역할이 있는 과정에 참여하라는 초대를 나타냅니다.

각 초대 리소스에는 다음 필드가 포함됩니다.

  • 클래스룸에서 할당한 초대의 id입니다.
  • 초대가 전송된 사용자의 userId
  • 사용자가 초대된 수업의 courseId
  • role: 초대된 사용자가 강의에서 갖게 될 강의 역할입니다.

초대 만들기

사용자가 invitations.create() 메서드를 호출하여 지정된 역할을 가진 과정에 참여할 수 있도록 초대를 만듭니다. 요청 본문에 Invitation 리소스를 포함하고 courseId, userId, role를 지정합니다.

Java

classroom/snippets/src/main/java/CreateInvitation.java
Invitation invitation = null;
try {
  /* Set the role the user is invited to have in the course. Possible values of CourseRole can be
  found here: https://developers.google.com/classroom/reference/rest/v1/invitations#courserole.*/
  Invitation content =
      new Invitation().setCourseId(courseId).setUserId(userId).setRole("TEACHER");

  invitation = service.invitations().create(content).execute();

  System.out.printf(
      "User (%s) has been invited to course (%s).\n",
      invitation.getUserId(), invitation.getCourseId());
} catch (GoogleJsonResponseException e) {
  // TODO (developer) - handle error appropriately
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf("The course or user does not exist.\n");
  }
  throw e;
} catch (Exception e) {
  throw e;
}
return invitation;

초대 검색

invitations.get() 메서드를 호출하고 초대의 id를 지정하여 특정 초대를 가져옵니다.

Java

classroom/snippets/src/main/java/GetInvitation.java
Invitation invitation = null;
try {
  invitation = service.invitations().get(id).execute();
  System.out.printf(
      "Invitation (%s) for user (%s) in course (%s) retrieved.\n",
      invitation.getId(), invitation.getUserId(), invitation.getCourseId());
} catch (GoogleJsonResponseException e) {
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf("The invitation id (%s) does not exist.\n", id);
  }
  throw e;
} catch (Exception e) {
  throw e;
}
return invitation;

초대 수락

과정 초대를 수락하면 초대가 삭제되고 사용자가 초대에 지정된 역할을 가진 과정에 추가됩니다. invitations.accept() 메서드를 호출하고 초대의 id를 지정하여 초대를 수락합니다.

Java

classroom/snippets/src/main/java/AcceptInvitation.java
try {
  service.invitations().accept(id).execute();
  System.out.printf("Invitation (%s) was accepted.\n", id);
} catch (GoogleJsonResponseException e) {
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf("The invitation id (%s) does not exist.\n", id);
  }
  throw e;
} catch (Exception e) {
  throw e;
}

초대 삭제

초대를 업데이트하는 유일한 방법은 초대를 삭제하고 새 초대를 만드는 것입니다. 초대를 삭제하려면 invitations.delete() 메서드를 호출하고 id를 지정합니다.

Java

classroom/snippets/src/main/java/DeleteInvitation.java
try {
  service.invitations().delete(id).execute();
  System.out.printf("Invitation (%s) was deleted.\n", id);
} catch (GoogleJsonResponseException e) {
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf("The invitation id (%s) does not exist.\n", id);
  }
  throw e;
} catch (Exception e) {
  throw e;
}