2

Google Classroom API でメソッドを実行するcourses.courseWork.studentSubmissions.modifyAttachmentsと、生徒の提出物に添付ファイルを追加しようとすると 403 エラーが返されます。

GoogleJsonResponseException:  
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "@ProjectPermissionDenied The Developer Console project is not permitted to make this request.",
    "reason" : "forbidden"
  } ],
  "message" : "@ProjectPermissionDenied The Developer Console project is not permitted to make this request.",
  "status" : "PERMISSION_DENIED"
}

呼び出しは、認証された学生アカウントから行われ、リンク リソースとして追加されています。開発者コンソール プロジェクトでは Google Classroom API が有効になっており、Google Classroom API への他の呼び出し ( や など) は正常に機能していcourses.listますcourses.courseWork.studentSubmissions.get。私は何が欠けていますか?Try it!を使用すると、同じエラーが返されます。アプリは Google Classroom ドキュメント サイトにあります。

4

3 に答える 3

5

課題/コースワークまたは学生の提出物を変更する場合、それらのオブジェクトを作成した開発者コンソール プロジェクトのみがそれらを変更できます。これは、対応するコース作品を作成したプロジェクトのみがそれらを変更できることを意味します。それ以外の場合は、403PERMISSION_DENIEDエラーが返されます。associatedWithDeveloperGoogle Classroom のコース課題応答のプロパティをチェックすることで、コース課題項目がリクエストを行っている開発者コンソール プロジェクトに関連付けられているかどうかを簡単に判断できます。

于 2016-07-12T18:59:03.480 に答える
4

これを自分で理解するにはしばらく時間がかかりましたが、私の意見では、最初に Google Script または Classroom API を使用してコースワーク (課題または質問) 自体を作成するのが最善の方法です。その後、コースワークは正しいコンソール プロジェクトに関連付けられ、そこから提出物を管理する権限が与えられます。

于 2018-02-28T23:24:13.560 に答える
1

エンド ユーザーがアクセスの前提条件を満たしていない場合、すべての Classroom API メソッドがPERMISSION_DENIED (HTTP 403)エラーを返すことがあります。エラーに付随するメッセージには、原因を特定し、ユーザーに適切なアクションを実行するよう指示するのに役立つエラー メッセージが含まれています。

ProjectPermissionDenied は、リクエストが別の開発者コンソール プロジェクトに関連付けられたリソースを変更しようとしたことを示します。

可能なアクション: アプリケーションが目的の要求を行うことができないことを示します。リソースを作成したOAuth クライアント IDの Developer Console プロジェクトでのみ作成できます。

于 2016-07-13T06:59:14.353 に答える