Google Classroom割り当てをプログラムで送信していますが、VIEW共有モードを使用する場合よりもSTUDENT_COPY共有モードを使用して素材を接続すると、エンティティが見つかりませんSTUDENT_COPY素材で割り当てを作成すると、Google Classroomでエラーが発生します
次のコードは正常に動作しているようだ。そのコード付き
var resource = {
title: name,
description: explanation,
workType: 'ASSIGNMENT',
state: 'PUBLISHED'
};
resource.materials = [];
resource.materials.push({
driveFile: {
driveFile: {
id: 'fileId'
},
shareMode: 'VIEW'
}
});
var params = {auth: creds, courseId: courseId, resource: resource};
classroom.courses.courseWork.create(params, function (err, courseWorkResponse) {
/* handle response */
}
、割り当てが作成されますと、私はGoogleの教室でそれを見ることができます。私は、ビューの代わりにSTUDENT_COPYするshareModeを設定する場合は、私は次のエラーを取得する:
{ Error: Requested entity was not found.
at Request._callback (/Users/.../node_modules/googleapis/node_modules/google-auth-library/lib/transporters.js:85:15)
at Request.self.callback (/Users/.../node_modules/googleapis/node_modules/request/request.js:188:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (/Users.../node_modules/googleapis/node_modules/request/request.js:1171:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage.<anonymous> (/Users/.../node_modules/googleapis/node_modules/request/request.js:1091:12)
at IncomingMessage.g (events.js:292:16)
at emitNone (events.js:91:20)
code: 404,
errors:
[ { message: 'Requested entity was not found.',
domain: 'global',
reason: 'notFound' } ] }
割り当てをGoogle Classromで作成されていません。しかし、私はです。 Googleドライブに配置されたdriveFile.idで指定されたGoogleドキュメントの[テンプレート]コピーを見ています。
いくつかのドキュメントで基本的に「Hello World」レベルのGoogleドキュメントを使用していますが、この問題はドキュメントに関連しているとは思えません。
それ以外は、何が起こっているのかわかりません。何らかのパーミッションがどこかにあるはずだと思いますが、他の誰かが何が起こっているかもしれないという手がかりを持っていますか?
EDIT:さらに情報
「出版」の割り当ての問題のようです。 resource.state
をDRAFT
に設定すると、coursework.create
API呼び出しを正常に実行できます。私は、CourseWorkオブジェクトのインスタンスを期待どおりに戻します。
問題は最終的に割り当てを発行する必要があることです。そして、classroom.courses.courseWork.patch()
api呼び出しを実行してDRAFTからPUBLISHEDに状態を単純に変更しようとすると、同じRequested entity was not found
エラーが発生します。
しかし、私はGoogle Classroom自体に入り、下書きを表示して、アプリケーションの「ASSIGN」ボタンをクリックすることができます。もし私がそれをすれば、すべてが最終的に動作します!しかし、そのUIの流れは私には良いことではありません。しかし、それは私が知る限り、本質的に間違っていることは何もないことを示しています。私はちょうど私の場合に必要ないくつかの(文書化されていない?)ステップを欠いているようです。