Я считаю, что ваша цель следующая.
- Вы хотите получить идентификатор topi c из имени c topi и создать курсWork, используя полученный идентификатор topi c, используя Скрипт Google Apps.
Для этого, как насчет этого ответа?
Точки модификации:
- В
var topicId = topicNames[j].topicID;
вы пытаетесь получить topicID
из массива var topicNames = ['Topic1','Topic2'];
. - Для получения идентификаторов topi c используется метод «course.topics.list».
- В этой модификации я использовал следующий поток.
- Получить список topi c ID.
- Создать объект для поиска topi c ID из topi c имя.
- Создать курс полученный topi c ID.
Когда указанные выше точки отражаются в вашем скрипте, он становится следующим:
Измененный скрипт:
function addAssignments() {
var courseIds = ['100000000000','100000000001'];
var topicNames = ['Topic1','Topic2'];
for (var i = 0; i < courseIds.length; i++) {
var topics = Classroom.Courses.Topics.list(courseIds[i]).topic; // Added
var topicObj = topics.reduce((o, e) => Object.assign(o, {[e.name]: e.topicId}), {}); // Added
for (var j = 0; j < topicNames.length; j++) {
var topicId = topicObj[topicNames[j]]; // Added
var exec = Classroom.Courses.CourseWork.create({
title: "My Assignment",
topicId: topicId,
workType: "ASSIGNMENT",
}, courseIds[i]);
}
}
}
Примечание:
- В этом измененном скрипте предполагается, что API Google Classroom уже включен в расширенных сервисах Google. Ссылка
Ссылка: