当前位置: 首页 > 知识库问答 >
问题:

如何在php中使用api从Google教室更新初稿成绩

桑博远
2023-03-14

我正在尝试将使用谷歌课堂API创建的仪表板中的成绩草稿更新到项目中的谷歌课堂本身。我写了以下代码,但找不到出路。如何解决这个问题?

随附一个仪表板(所有从Google教室导入的值)供您参考。

 $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,);

然后,当我在localhost上运行上述代码时,我发现这个问题:

PHP Fatal error:  Uncaught Google\Service\Exception: {
  "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"
  }
}



使用谷歌课堂api创建的仪表板

共有1个答案

龚玄天
2023-03-14

您遇到的问题是您的呼叫未经授权。一些方法,如courses.courseWork/create访问私人用户数据。为了访问私人用户数据,您的应用程序必须获得该数据所有者的授权,并授予您访问权限。

我建议您遵循快速入门,它将向您展示如何授权您的应用程序。

$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');
 类似资料:
  • 我在Elasticsearch中索引了一个文档,如下所示: 我尝试通过以下命令更新计数字段: 但是,我收到了以下错误: 我到底做了什么,却不见了?我在http://www.elasticsearch.org/guide/reference/api/update.html跟踪文件,但它不起作用。 此外,我还包括父字段: 但还是没有成功。有人能帮我解决这个错误吗?

  • 问题内容: 我知道该方法存在并且已记录,但是我不知道如何获取MapCanvasProjection对象。 问题答案: 在v2中更轻松-Google API v3的另一个缺陷!

  • 本文向大家介绍如何在Google Maps中使用HTML5 GeoLocation API?,包括了如何在Google Maps中使用HTML5 GeoLocation API?的使用技巧和注意事项,需要的朋友参考一下 HTML5 Geolocation API使您可以与自己喜欢的网站共享位置。Javascript可以捕获您的纬度和经度,并且可以发送到后端Web服务器,并可以进行精美的位置感知操作

  • 我是新来的应用程序引擎,并试图从一个示例代码创建一个PHP应用程序。有没有人能告诉我这有什么用 需要一次目录。”/供应商/autoload.php'; 这套库是我们需要下载的吗?我正在本地开发/测试,并使用gCloud应用部署部署到gCloud项目 我可以使用google\appengine\api\users\User; 但我不能使用google\cloud\storage\StorageCli

  • 我正在使用Apache POI,并尝试使用Powerpoint报告自动完成一些任务。更准确地说,我希望从代码中更新. pptx演示文稿中的数据,包括表格。 我已经设法获得了XSLFTable对象(感谢这个页面:如何用apache-poi 3.9修改pptx文件中表格的单元格值?),但现在我正在尝试更新表结构。 不幸的是,我不知道如何在该表中创建或删除行(或列)。方法 返回一个列表,但它似乎是不可修

  • 我试图通过更新权限来使用Google Drive API更改所有者: 我将我的帐户权限ID: 改变角色: 并进行更新: 但是得到一个错误: