Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Zasoby tematyczne to grupa elementów strumienia sklasyfikowanych według podobieństwa, np. według przypisanego tygodnia lub tematu kursu.
Każdy temat jest identyfikowany przez unikalny identyfikator przypisany przez serwer. Z tym identyfikatorem powiązany jest identyfikator kursu, do którego należy temat, nazwa tematu wyświetlana w interfejsie Classroom oraz data i godzina ostatniej aktualizacji.
Tworzenie tematu
Nowy temat w kursie możesz utworzyć, używając metody topics.create(), jak pokazano w tym przykładzie:
List<Topic> topics = new ArrayList<>();
String pageToken = null;
try {
do {
ListTopicResponse response =
service
.courses()
.topics()
.list(courseId)
.setPageSize(100)
.setPageToken(pageToken)
.execute();
/* Ensure that the response is not null before retrieving data from it to avoid errors. */
if (response.getTopic() != null) {
topics.addAll(response.getTopic());
pageToken = response.getNextPageToken();
}
} while (pageToken != null);
if (topics.isEmpty()) {
System.out.println("No topics found.");
} else {
for (Topic topic : topics) {
System.out.printf("%s (%s)\n", topic.getName(), topic.getTopicId());
}
}
} catch (GoogleJsonResponseException e) {
// TODO (developer) - handle error appropriately
GoogleJsonError error = e.getDetails();
if (error.getCode() == 404) {
System.out.printf("The courseId does not exist: %s.\n", courseId);
} else {
throw e;
}
} catch (Exception e) {
throw e;
}
return topics;
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']))
Zaktualizuj tematy
Możesz zaktualizować nazwę istniejącego tematu za pomocą metody topics.patch(), jak pokazano w tym przykładzie:
Topic topic = null;
try {
// Retrieve the topic to update.
Topic topicToUpdate = service.courses().topics().get(courseId, topicId).execute();
// Update the name field for the topic retrieved.
topicToUpdate.setName("Semester 2");
/* Call the patch endpoint and set the updateMask query parameter to the field that needs to
be updated. */
topic =
service
.courses()
.topics()
.patch(courseId, topicId, topicToUpdate)
.set("updateMask", "name")
.execute();
/* Prints the updated topic. */
System.out.printf("Topic '%s' updated.\n", topic.getName());
} catch (GoogleJsonResponseException e) {
// TODO(developer) - handle error appropriately
GoogleJsonError error = e.getDetails();
if (error.getCode() == 404) {
System.out.printf("The courseId or topicId does not exist: %s, %s.\n", courseId, topicId);
} else {
throw e;
}
} catch (Exception e) {
throw e;
}
return topic;
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']))
Usuwanie tematów
Istniejący temat możesz usunąć za pomocą metody topics.delete(), jak pokazano w tym przykładzie:
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2024-11-23 UTC."],[[["A topic in Google Classroom groups similar stream items together, identified by a unique ID, and includes information like the course it belongs to, its name, and the last updated timestamp."],["You can manage topics by creating, retrieving details (individually or as a list), updating the name of existing topics, and deleting them, using dedicated methods for each action."],["When creating or updating topics, ensure the name field is a non-empty string; avoid trailing spaces in topic names due to a known issue; and note that the topic ID and update time cannot be changed manually."],["Code samples in Java and Python are provided to illustrate how to interact with the Classroom API for various topic management operations."]]],[]]