2016-07-11 5 views
0

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

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が有効になっています。courses.listcourses.courseWork.studentSubmissions.getなど、Google Classroom APIへの他の呼び出しが正常に機能しています。私は何が欠けていますか? Google ClassroomのドキュメントサイトでTry it!アプリを使用しているときにも同じエラーが返されます。

答えて

2

課題/コースワークワークまたは学生投稿を変更する場合、それらのオブジェクトを作成した開発者コンソールプロジェクトのみが変更できます。これは、対応するコースワークを作成したプロジェクトだけがそれらを修正できることを意味します。そうでない場合は、403 PERMISSION_DENIEDエラーが返されます。コースワークアイテムがデベロッパーコンソールプロジェクトに関連付けられているかどうかは、Google ClassroomコースワークレスポンスのassociatedWithDeveloperプロパティを確認することで簡単に判断できます。

0

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

ProjectPermissionDeniedは、要求が異なるDeveloper Consoleプロジェクトに関連付けられているリソースを変更しようとしたことを示します。

考えられる処置:アプリケーションが希望するリクエストを行うことができないことを示します。リソースを作成したOAuth client IDのDeveloper Consoleプロジェクトでのみ作成できます。

1

私自身はこれを理解するのにしばらく時間がかかりましたが、私の意見では、まずGoogle ScriptまたはClassroom APIを使用してコースワーク(課題または質問)を作成することをおすすめします。その後、コースワークは正しいコンソールプロジェクトに関連付けられ、そこからの投稿を管理するためにクリアされます。

関連する問題