2017-08-02 3 views
0

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.stateDRAFTに設定すると、coursework.create API呼び出しを正常に実行できます。私は、CourseWorkオブジェクトのインスタンスを期待どおりに戻します。

問題は最終的に割り当てを発行する必要があることです。そして、classroom.courses.courseWork.patch() api呼び出しを実行してDRAFTからPUBLISHEDに状態を単純に変更しようとすると、同じRequested entity was not foundエラーが発生します。

しかし、私はGoogle Classroom自体に入り、下書きを表示して、アプリケーションの「ASSIGN」ボタンをクリックすることができます。もし私がそれをすれば、すべてが最終的に動作します!しかし、そのUIの流れは私には良いことではありません。しかし、それは私が知る限り、本質的に間違っていることは何もないことを示しています。私はちょうど私の場合に必要ないくつかの(文書化されていない?)ステップを欠いているようです。

答えて

0

これは、エンティティがまだ存在しないのは、生徒がまだ教室で課題にアクセスしていないためです。だから彼らがやり直して再試行してください。

Reference

Drive files that correspond to materials with a share mode of STUDENT_COPY may not exist yet if the student has not accessed the assignment in Classroom.

関連する問題