Interakcja z załącznikami

Na tej stronie znajdują się szczegółowe informacje o implementacji tworzenia załączników i pracy z materiałami przesłanymi przez uczniów. Podczas wysyłania tych żądań może być konieczne podanie parametrów związanych z załącznikami.

Tworzenie załącznika

Utwórz załącznik, wysyłając żądanie CREATE do odpowiedniego punktu końcowego courses.*.addOnAttachments.create. Treść żądania musi zawierać wystąpienie AddOnAttachment.

Podczas tworzenia załącznika wymagane są następujące pola:

  • title: nazwa ciągu znaków załącznika.
  • teacherViewUri: identyfikator URI widoku nauczyciela w załączniku.
  • studentViewUri: identyfikator URI widoku ucznia załącznika.
  • studentWorkReviewUri: identyfikator URI, pod którym nauczyciel może zobaczyć pracę ucznia nad załącznikiem. To pole jest wymagane tylko w przypadku załączników typu aktywności.

Możesz dodać niektóre z tych pól opcjonalnych:

  • dueDate i dueTime, jeśli określasz termin oddania załącznika.
  • maxPoints: maksymalna ocena za załącznik. Jeśli chcesz obsługiwać przebieg zwrotny ocen, musi to być wartość różna od zera. Dotyczy tylko załączników typu aktywności.

Więcej informacji o tych polach znajdziesz w dokumentacji zasobów AddOnAttachment.

Szczegóły zadania przesłanego przez ucznia

Typowy proces przesyłania składa się z tych kroków:

  1. Uczeń uruchamia aplikację studentViewUri, aby wykonać zadanie.
  2. Dodatek pobiera submissionId z metody getAddOnContext przy użyciu danych logowania uczniów.
  3. submissionId i attachmentId są przechowywane przez dewelopera dodatku jako unikalny identyfikator pracy ucznia. Jeśli nauczyciel skopiuje projekt w Classroom, możesz użyć klucza złożonego tych 2 parametrów, aby wyświetlić w skopiowanym projekcie nowy załącznik. Więcej informacji znajdziesz na naszej stronie o kopiowanych treściach.
  4. Nauczyciel zainteresowany sprawdzaniem prac uczniów uruchamia studentWorkReviewUri. Żądanie zawiera te parametry zapytania: courseId, itemId, itemType, attachmentId i submissionId.
  5. Deweloper dodatku używa tych 4 identyfikatorów do pobierania zadań uczniów. Użyj punktu końcowego courses.courseWork.addOnAttachments.studentSubmissions, aby pobrać lub zmodyfikować informacje o zadaniach przesłanych przez ucznia.

Wykryj stan przesłania

Aby uzyskać szczegółowe informacje o konkretnym submissionId, wyślij żądanie GET do punktu końcowego courses.courseWork.addOnAttachments.studentSubmissions. Otrzymujesz obiekt AddOnAttachmentStudentSubmission, który zawiera ocenę zadania (pointsEarned) i bieżący stan (postSubmissionState). Stan przesłania może mieć jedną z tych wartości:

  • NEW, jeśli uczeń nigdy nie otwierał zadania.
  • CREATED, jeśli uczeń utworzył zadanie, ale jeszcze go nie przesłał.
  • TURNED_IN, jeśli uczeń przesłał swoje zadanie nauczycielowi.
  • RETURNED, jeśli nauczyciel zwrócił zadanie uczniowi.
  • RECLAIMED_BY_STUDENT, jeśli uczeń „cofnął” swoje zadanie.

Za pomocą tego punktu końcowego możesz wykryć stan pracy ucznia w dodatku. Następnie możesz dostosować widoki lub opcje udostępniane uczniowi w zależności od zwróconego stanu. Może to obejmować na przykład:

  • Wyświetlanie stanu oddania projektów w dodatku. Dzięki temu uczniowie unikną potencjalnych nieporozumień i unikną pomyłki podczas oddania projektu.
  • Ograniczenie uprawnień do edycji przesyłanych treści. Jeśli projekt ma stan CREATED lub RECLAIMED_BY_STUDENT, uczeń może mieć możliwość jego edytowania. Jeśli projekt ma stan TURNED_IN lub RETURNED, uczeń może nie mieć uprawnień do jego edytowania.

Oceny i wiele załączników

Do ustawienia oceny pojedynczego projektu można użyć tylko jednego załącznika dodatku. Jeśli nauczyciel utworzy więcej niż 1 załącznik typu działania, który ma wartość maxPoints, tylko pierwszy taki załącznik może ustawić ocenę za projekt. Aby wyłączyć synchronizację ocen dla załącznika, pozostaw wartość maxPoints nieskonfigurowana lub ustaw ją na 0.

Ustawianie oceny zadania

Przesłane przez ucznia możesz modyfikować, wysyłając żądanie PATCH do punktu końcowego courses.courseWork.addOnAttachments.studentSubmissions. Treść żądania musi zawierać instancję AddOnAttachmentStudentSubmission ze zmienionymi wartościami. Aby zmienić ocenę za zadanie, ustaw pole pointsEarned. Wartość przekazana w pointsEarned stanie się oceną roboczą widoczną dla nauczyciela w interfejsie Classroom. Nauczyciele mogą zmienić wersję roboczą oceny przed zwróceniem projektu uczniom. Szczegółowe informacje o sposobie prezentowania ocen nauczycielom znajdziesz w artykule Omówienie oceniania w interfejsie Classroom.

Pamiętaj, że ocenę za pomocą pointsEarned możesz ustawić tylko wtedy, gdy są spełnione te warunki:

  • Załącznik musi mieć wartość dodatnią maxPoints.
  • Dodatek musi być autorem załącznika.

Pamiętaj też, że możesz zmienić już utworzoną wartość maxPoints elementu AddOnAttachment, wysyłając żądanie PATCH do punktu końcowego addOnAttachments.

Kiedy wyznaczać ocenę

Masz możliwość wyboru, kiedy ocena ma zostać zwrócona do Google Classroom. Istotną różnicą jest to, czy zdecydujesz się przechowywać dane logowania nauczyciela, ponieważ tylko on może modyfikować ocenę.

Ocena może zostać przekazana do Google Classroom w dwóch momentach dodatkowych: gdy uczeń ukończy zadanie lub nauczyciel otworzy pracę ucznia w elemencie iframe z oceną pracy ucznia.

Jeśli chcesz wystawiać oceny po wykonaniu zadania przez ucznia, musisz zapisać dane logowania offline nauczyciela, a następnie pobrać je i używać ich do modyfikowania oceny po ukończeniu zadania przez ucznia. Ta metoda może przynieść pewne korzyści:

  • Sprawne aktualizowanie ocen. Nauczyciele nie muszą podejmować żadnych specjalnych działań, aby oceny były wypełniane w interfejsie Classroom.
  • Zapewnianie w czasie rzeczywistym informacji o postępach zajęć w projekcie. Dzięki temu, że uczniowie wypełniają załączniki, nauczyciele mogą uzyskać obraz wiedzy uczniów bez otwierania każdego zadania.

Pamiętaj, że to podejście umożliwia też asynchroniczne podejście do synchronizacji ocen. Możesz okresowo przeprowadzać sondowanie punktu końcowego AddOnAttachmentStudentSubmission, aby wykrywać, kiedy uczeń przesłał swoje zadanie. Po przesłaniu projektu ustaw jego ocenę, używając zapisanych danych logowania.

Jeśli nie chcesz wczytywać danych logowania nauczyciela podczas sesji ucznia, możesz użyć danych logowania aktywnego nauczyciela, gdy wczytuje on zadanie ucznia w elemencie iframe sprawdzania pracy ucznia. Jednak może to nie zapewnić płynnej obsługi, ponieważ oceny w interfejsie Classroom nie są aktualizowane w czasie rzeczywistym, a nauczyciele musieliby w każdym zgłoszeniu otworzyć element iframe z oceną prac uczniów.

Wykrywanie zmian w ocenach projektów

nauczyciele mogą edytować ustawienia ocen w Classroom po utworzeniu projektu. Takie zmiany mogą obejmować:

  • zmienianie przypisanej liczby punktów,
  • Zmiana wartości maxPoints projektu.
  • określenie, czy w ogóle ma być oceniany projekt.

Aby wyświetlić bieżące ustawienia oceniania projektu, zalecamy wysłanie żądania GET do punktu końcowego courses.courseWork. Odpowiedź zawiera bieżącą wartość maxPoints. Projekt bez oceny ma wartość null lub zero (maxPoints).

Jeśli zwrócisz ocenę do Classroom, użyj punktu końcowego courses.courseWork.addOnAttachments.studentSubmissions, aby pobrać lub zmienić ocenę za załącznik dodatku. Wartość oceny jest ustawiana za pomocą pola pointsEarned. Rozważ sprawdzenie i, jeśli to konieczne, zaktualizowanie tej wartości, jeśli Twoja usługa umożliwia nauczycielom edytowanie wyniku ucznia za konkretne zadanie.