Los complementos de Google Classroom ya están en fase de disponibilidad general para desarrolladores. Consulta la documentación sobre complementos para obtener más información.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Un recurso de tema representa un grupo de elementos de transmisión categorizados por similitud, como la semana asignada o el tema del curso.
Cada tema se identifica con un ID único que asigna el servidor. Asociado con este ID, se encuentra el ID del curso al que pertenece el tema, el nombre real del tema que se muestra en la IU de Classroom y la fecha y hora de la última actualización.
Crea un tema
Puedes crear un tema nuevo en un curso con el método topics.create(), como se muestra en el siguiente ejemplo:
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']))
Actualizar temas
Puedes actualizar el nombre de un tema existente con el método topics.patch(), como se muestra en la siguiente muestra:
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']))
Borrar temas
Puedes borrar un tema existente con el método topics.delete(), como se muestra en el siguiente ejemplo:
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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."]]],[]]