Я пишу приложение (используя PHP), которое добавит студентов в Google Classroom. Я слежу за документацией по адресу:
https://developers.google.com/classroom/guides/batch
Я использую пакетный запрос для добавления нескольких студентов в Google Classroom. Однако пакетный запрос кажется неудачным. Мой код выглядит следующим образом:
$service = new Google_Service_Classroom($client);
$service->getClient()->setUseBatch(true);
$batch = $service->createBatch();
$courseId = "123456";
$studentEmails = ["[email protected]","[email protected]"];
foreach($studentEmails as $email) {
$student = new Google_Service_Classroom_Student(['userId' => $email]);
$request = $service->courses_students->create($courseId, $student);
$requestId = $email;
$batch->add($request, $requestId);
}
$results = $batch->execute();
foreach($results as $responseId => $student) {
$studentEmail = substr($responseId, strlen('response-') );
if ($student instanceof Google_Service_Exception) {
$e = $student;
printf("Error adding user '%s' to the course: %s\n", $studentEmail,
$e->getMessage());
} else {
printf("User '%s' was added as a student to the course.\n",
$student->profile->name->fullName, $courseId);
}
}
$service->getClient()->setUseBatch(false);
Вывод этого кода:
Error adding user '[email protected]' to the course: Not Found ...
Однако и пользователь, и курс существуют в домене. Если я удалю пакетный код и сделаю запрос по одному, студенты будут успешно добавлены в класс, что заставит меня поверить, что я что-то упускаю в пакетном запросе.