Der folgende Code für die meisten Schüler in einem Klassenzimmer arbeitet, wenn sie eine asignment einreichen, aber es löst eine Ausnahme mit einem 400-Fehler für einige der Schüler:ModifyAttachments Aufruf gibt 400 Fehler C# Client-Bibliothek mit
var classroom = GetClassroomService();
var studentSubmissionsResponse = classroom.Courses.CourseWork.StudentSubmissions.List(courseId, courseWorkId).Execute();
var submission = studentSubmissionsResponse.StudentSubmissions.FirstOrDefault(s => s.AssociatedWithDeveloper ?? false);
var modifyAttachmentRequest = new global::Google.Apis.Classroom.v1.Data.ModifyAttachmentsRequest();
var link = new global::Google.Apis.Classroom.v1.Data.Link() { Url = url };
var attachment = new global::Google.Apis.Classroom.v1.Data.Attachment() { Link = link };
modifyAttachmentRequest.AddAttachments = new System.Collections.Generic.List<global::Google.Apis.Classroom.v1.Data.Attachment>();
modifyAttachmentRequest.AddAttachments.Add(attachment);
submission = classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments(modifyAttachmentRequest, courseId, courseWorkId, submission.Id).Execute();
/// submission code is after this; the exception is thrown by the call above
die Ausnahme ist:
The service classroom has thrown an exception: Google.GoogleApiException: Google.Apis.Requests.RequestError
Request contains an invalid argument. [400]
Errors [
Message[Request contains an invalid argument.] Location[ - ] Reason[badRequest] Domain[global]
]
Leider hat die C# Client-Bibliothek ist nicht die Anzeige von detaillierten Fehlermeldungen noch unterstützen.
Irgendwelche Ideen, was könnte los sein? Wie kann ich Fehler beheben?
Ich wünschte, ich könnte das tun. Die Ausnahmen werden ausgelöst, wenn Schüler ihre Aufgaben im (physischen) Klassenraum ausführen. Die Fehlermeldung weist darauf hin, dass ein ungültiges Argument vorhanden ist. In diesem Aufruf ist das einzige Argument, das sich ändert, die URL. Ich habe versucht, die URLs zu verwenden, die mit meinem eigenen Konto fehlschlagen, und sie funktionieren. Also, es ist nicht die URL. Die courseId und courseWorkId arbeiten für andere Studenten. Das lässt nur die submission.Id, aber ich denke, ich bekomme die Einreichung korrekt. –