#php #oauth #google-api-php-client #google-api-client #google-classroom
Вопрос:
Я пытаюсь обновить черновики оценок с панели мониторинга, созданной с помощью API Google Classroom, до самого класса Google для проекта. Я написал следующие коды, но не могу найти выход. Как решить эту проблему?
Для справки прилагается панель мониторинга(все значения, импортированные из Google classroom).
$client = new Google_Client();
$service = new Google_Service_Classroom($client);
$courseId = '328776504166';
$courseWorkId = '361223650991';
$id = 'Cg0IiOu99CkQr_3t1MEK';
$post_body = new Google_Service_Classroom_StudentSubmission(array(
'updateMask' => 20,
'draftGrade' => 90,
));
$list = $service->courses_courseWork_studentSubmissions->patch($courseId, $courseWorkId, $id, $post_body,);
Затем, когда я запускаю приведенный выше код на локальном хосте, я вижу эту проблему:
PHP Fatal error: Uncaught GoogleServiceException: {
"error": {
"code": 403,
"message": "@ProjectPermissionDenied The Developer Console project is not permitted to make this request.",
"errors": [
{
"message": "@ProjectPermissionDenied The Developer Console project is not permitted to make this request.",
"domain": "global",
"reason": "forbidden"
}
],
"status": "PERMISSION_DENIED"
}
}
Панель мониторинга, созданная с помощью Google classroom api
Комментарии:
1. В чем проблема с вашим текущим решением, у вас есть ошибка?
2. @DaImTo Да, я вижу что-то не так . Я обновил свой вопрос. Вышеуказанные проблемы возникают, когда я хочу обновить черновую оценку.
3. @DaImTo Я должен создать курс, курсовую работу(задание) из своего проекта. Большое вам спасибо за ценные предложения. Теперь эта проблема полностью устранена.
Ответ №1:
Проблема, с которой вы столкнулись, заключается в том, что ваш звонок не был авторизован. Некоторые методы, такие как курсы.курсовая работа/создание доступа к личным пользовательским данным. Для доступа к личным данным пользователя ваше приложение должно быть авторизовано владельцем этих данных и иметь доступ, предоставленный вам.
я рекомендую следовать быстрому запуску, он покажет вам, как авторизовать ваше приложение.
$client = new Google_Client();
$client->setApplicationName('Google Classroom API PHP Quickstart');
$client->setScopes(Google_Service_Classroom::CLASSROOM_COURSES_READONLY);
$client->setAuthConfig('credentials.json');
$client->setAccessType('offline');
$client->setPrompt('select_account consent');
Комментарии:
1. Я исправил свою ошибку. Теперь вышеуказанные проблемы PERMISSION_DENIED появляются всякий раз, когда я хочу обновить черновую оценку.
2. Я должен создать курс, курсовую работу(задание) из своего проекта . Большое вам спасибо за ценные предложения. Теперь эта проблема полностью устранена.
3. Пожалуйста, не забудьте принять запрос, если он вам помог