Как обновить черновую оценку из Google Classroom с помощью api в php

#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. Пожалуйста, не забудьте принять запрос, если он вам помог