주제 리소스는 할당된 주 또는 과정 과목과 같은 유사성별로 분류된 스트림 항목 그룹을 나타냅니다.
각 주제는 서버에서 할당한 고유 ID로 식별됩니다. 이 ID와 연결된 항목은 주제가 속한 과정 ID, 클래스룸 UI에 표시되는 실제 주제 이름, 마지막 업데이트 날짜 및 시간이 있습니다.
주제 만들기
다음 샘플과 같이 topics.create()
메서드를 사용하여 과정에 새 주제를 만들 수 있습니다.
자바
Python
topic = {
"name": 'Example Topic'
}
response = service.courses().topics().create(
courseId=<course ID or alias>,
body=topic).execute()
print('Topic created: ', response['name'])
주제 세부정보 가져오기
다음 샘플과 같이 topics.get()
메서드를 사용하여 해당 과정의 주제를 검색할 수 있습니다.
자바
Python
response = service.courses().topics().get(
courseId=<course ID or alias>,
id=<topic ID>).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
과정 목록의 경우 다음 샘플과 같이 topics.list()
메서드를 사용합니다.
자바
Python
topics = []
page_token = None
while True:
response = service.courses().topics().list(
pageToken=page_token,
pageSize=30,
courseId=<course ID or alias>).execute()
topics.extend(response.get('topic', []))
page_token = response.get('nextPageToken', None)
if not page_token:
break
if not topics:
print('No topics found.')
else:
print('Topics:')
for topic in topics:
print('{0} ({1})'.format(topic['name'], topic['topicId']))
주제 업데이트
다음 샘플과 같이 topics.patch()
메서드를 사용하여 기존 주제의 이름을 업데이트할 수 있습니다.
자바
Python
topic = {
"name": "New Topic Name"
}
response = service.courses().topics().patch(
courseId=<course ID or alias>,
id=<topic ID>,
updateMask="name",
body=topic).execute()
print('{0} ({1})'.format(response['name'], response['topicId']))
주제 삭제
다음 샘플과 같이 topics.delete()
메서드를 사용하여 기존 주제를 삭제할 수 있습니다.