Создание курсовой работы с помощью studentWorkFolder

#google-api #google-drive-api #google-classroom

#google-api #google-drive-api #google-classroom

Вопрос:

Используя Google Classroom API, я просто пытаюсь создать курсовую работу (задание), где я могу назначить папку диска для этой курсовой работы, а затем я могу загружать вложения в эту конкретную папку.

Я пробовал в браузере использовать их API Explorer, но тоже не работает.

Вот мой код;

     const classroom = google.classroom({version: 'v1', auth});
    classroom.courses.courseWork.create({
        "courseId": assignmentCreationRequest.courseId,
          "resource": {
            "title": assignmentCreationRequest.title,
            "description": assignmentCreationRequest.description,
            "workType": "ASSIGNMENT",
            "state": "PUBLISHED",
            "topicId": assignmentCreationRequest.topicId,
            "assignment":
            {
                "studentWorkFolder": {
                  "id": "1wTM6YYAk1rp4TtsEQwjZnb3qMbR9iPbe"
                }
            }
          }
    })
 

Папка была создана внутри папки Classroom courses в качестве родительской.

Единственный способ, который я нашел для создания такой папки, — это; при создании курсовой работы добавьте материалы, для которых режим общего доступа установлен на ‘STUDENT_COPY’, тогда API сам создаст папку. Это обходной путь, при котором я могу удалить все содержимое после создания папки, но, конечно, есть более классный способ?

Любая помощь будет высоко оценена!

Ответ №1:

Ответ:

Вы не можете назначить определенную, ранее существовавшую папку на диске для CourseWork .

Эта папка автоматически создается Google при создании CourseWork , если workType она есть ASSIGNMENT .

Кроме того, studentWorkFolder будет создан только в том случае, если там есть контент для размещения, будь то studentSubmission или Материал, прикрепленный к курсовой работе.

Ссылка:

Если вы проверите поля курсовой работы, вы увидите, что assignment (содержащий studentWorkFolder ) доступен только для чтения:

задание: сведения о задании. Это заполняется только тогда, когда WorkType присваивается.

Доступно только для чтения.

Поэтому это поле будет проигнорировано.

Комментарии:

1. Я пробовал без назначения определенной, ранее существовавшей папки на диске, но это не сработало. После создания задания никакая папка для этого задания автоматически не создается, если только в ней нет материалов или вложений от учащихся. Я могу изменить привязки для вновь созданного назначения, поскольку такая папка не создана. Это способ инициировать создание папки после создания назначения?

2. @smkso studentWorkFolder Будет создан только в том случае, если там есть контент для размещения, будь то a studentSubmission или Material прикрепленный к курсовой работе. Если вы считаете, что это не подходит для вашей ситуации, я бы посоветовал вам подать запрос на функцию в Issue Tracker.

3. @lamblichus Теперь я понимаю. Я нашел способ справиться со своей ситуацией. Спасибо

Ответ №2:

Как ответил @lamblichus, невозможно назначить конкретную папку при создании courseWork .

studentWorkFolder Будет создан только тогда, когда;

  1. Вы предоставляете материал с shareMode установленным значением STUDENT_COPY .
  2. Когда студент отправляет вложения к своей заявке.

В моем случае, когда для каждой отправки я хотел бы modifyAttachments использовать пользовательские файлы, я создал папку с именем course , затем поместил все вложения в папку с правильными разрешениями, затем с помощью modifyAttachments я добавляю идентификатор файла к идентификатору отправки. Это все равно не создаст a studentWorkFolder , но я могу modifyAttachments сделать это для каждого ученика.

Если бы я должен был добавить materials , где shareMode находится STUDENT_COPY , который это создаст studentWorkFolder , содержащий файлы, тогда я должен был удалить все содержимое папки; это означает, что у меня будет studentWorkFolder ссылка на courseWork , прикрепленные материалы все равно будут доступны / показаны. patch не позволяет обновлять materials .

Я надеюсь, что это поможет тем, кто также находится в подобной ситуации.