Не удается установить studentWorkFolder при создании задания - PullRequest
0 голосов
/ 26 сентября 2018

Я использую библиотеку php для создания заданий для студентов.Я делюсь с этими студентами конкретными файлами, которые находятся в определенной папке.Каждый студент в задании имеет возможность редактировать или добавлять новые файлы в задание.

Все работает отлично, но когда они отправляют новые файлы, он не добавляет их в текущую папку, посвященную задачено он создает новую папку в корневой папке класса.Я пытаюсь установить studentWorkFolder так, чтобы он указывал на соответствующую папку на диске Google, но он не сохраняется при создании назначения.

Вот код:

$courseWork = new \Google_Service_Classroom_CourseWork(array(
    "courseId"      => $classroomId,
    "title"         => $titleOfAssignment,
    "workType"      => "ASSIGNMENT",
    "description"   => $descriptionOfAssignment,
    "state"         => "PUBLISHED",
    "assigneeMode"  => "INDIVIDUAL_STUDENTS",
    "individualStudentsOptions" => [
        "studentIds" => $classroomStudents
    ],
    "materials"     => $materials,       
    "assignment" => [
        "studentWorkFolder" => [
            "id" => $myFolderId,
            "title" => $titleOfAssignment,
            "alternateLink" => "https://drive.google.com/drive/u/0/folders/${myFolderId}"
        ]
    ]     
));


var_dump($courseWork->getAssignment());
$courseWork   = $this->teacherClassroomService->courses_courseWork->create($classroomId, $courseWork);    
var_dump($courseWork->getAssignment());

Первый var_dump возвращает мой Google_Service_Classroom_Assignment с каждым установленным полем.После создания присваивания второй var_dump возвращает ноль.Все в Google Classroom работает отлично (задания, материалы), за исключением того, что, когда я нажимаю «Открыть папку назначения», она переходит к случайным файлам, которые 404, и когда ученик добавляет документ или отправляет задание, он создает новую папку.в корне.

Нет ли способа установить studentWorkFolder?Я вижу в API только для чтения, но я настроил его при создании курсовой работы.

Спасибо!

Артур

РЕДАКТИРОВАТЬ: я пытался использовать REST API напрямую иэто то же самое, он игнорирует мой ключ "назначение" с studentWorkFolder

{
    "courseId": "my course id",
    "title": "Test",
    "description": "Test",
    "materials": [],
    "state": "PUBLISHED",
    "workType": "ASSIGNMENT",
    "submissionModificationMode": "MODIFIABLE_UNTIL_TURNED_IN",
    "associatedWithDeveloper": true,
    "assigneeMode": "INDIVIDUAL_STUDENTS",
    "individualStudentsOptions": {
        "studentIds": [
            "a student id"
        ]
    },
    "assignment": {
        "studentWorkFolder":{
            "id": "a folder id"
        }
    }
}

возвращает это

{
    "courseId": "my course id",
    "id": "18228858914",
    "title": "Test",
    "description": "Test",
    "state": "PUBLISHED",
    "alternateLink": "http://classroom.google.com/c/MTc2NjE4ODE2ODJa/a/MTgyMjg4NTg5MTRa/details",
    "creationTime": "2018-09-26T18:31:03.679Z",
    "updateTime": "2018-09-26T18:31:03.640Z",
    "workType": "ASSIGNMENT",
    "submissionModificationMode": "MODIFIABLE_UNTIL_TURNED_IN",
    "associatedWithDeveloper": true,
    "assigneeMode": "INDIVIDUAL_STUDENTS",
    "individualStudentsOptions": {
        "studentIds": [
            "a student"
        ]
    },
    "creatorUserId": "105680516965248663531"
}
...