Ten przewodnik dotyczy tworzenia załączników dodatków w witrynie lub aplikacji. Interakcje są podobne do tworzenia projektów przy użyciu interfejsu CourseWork API . Wdróż tę ścieżkę, aby umożliwić użytkownikom tworzenie załączników dodatków z Twojej witryny lub aplikacji.
Przepływ pracy
Ogólnie proces tworzenia załączników przebiega w takiej kolejności:
- Nauczyciel otwiera Twoją witrynę lub aplikację. Wybierają one treści, przypisać je uczniom.
- Sprawdź, czy użytkownik może tworzyć załączniki dodatków.
- Jeśli użytkownik nie może tworzyć załączników dodatków, utwórz z adresem URL do wybranych treści jako materiałem linku.
- Jeśli użytkownik może tworzyć załączniki dodatków, wykonaj te czynności:
- Utwórz projekt.
- Utwórz załącznik dodatku będący linkiem do wybranej treści. z nowym projektem.
- Poinformuj nauczyciela, że projekt został utworzony.
Każdą czynność opisano w poniższych sekcjach.
Sprawdzanie, czy użytkownik może tworzyć załączniki dodatków
Możesz tworzyć załączniki dodatków w imieniu odpowiedniego użytkownika. Odpowiedni Użytkownik to użytkownik będący nauczycielem na zajęciach, które próbujesz utworzyć Projekty CourseWork oraz mają Learning lub Education Plus, Przypisano im licencję na wersję Google Workspace for Education.
Zacznij od określenia, czy użytkownik może tworzyć dodatki w danym elemencie Course
.
Wyślij żądanie do punktu końcowego courses.checkAddOnCreationEligibility
,
w tym identyfikator zajęć.
Python
eligibility_response = (
classroom_service.courses()
.checkAddOnCreationEligibility(courseId=course_id)
.execute()
)
is_create_attachment_eligible = (
eligibility_response.get('isCreateAttachmentEligible')
)
print(f'User eligibility for course {eligibility_response.get("courseId")}'
f': {is_create_attachment_eligible}.')
Jeśli użytkownik spełnia wymagania, odpowiedź zawiera wartość logiczną
Wartość isCreateAttachmentEligible
została ustawiona na true
. Jeśli użytkownik się nie kwalifikuje,
odpowiedź nie zwróci wartości logicznej isCreateAttachmentEligible
.
Przekierowywanie użytkownika na podstawie kryteriów kwalifikacji
To ustawienie określa, czy możesz tworzyć załączniki dodatków dla użytkownika.
Użytkownik nieuprawniony
Jeśli użytkownik nie może tworzyć załączników dodatków, utwórz nowy CourseWork
.
z wybranym przez użytkownika adresem URL treści jako Link
.
Python
if not is_create_attachment_eligible:
coursework = {
'title': 'My CourseWork Assignment with Link Material',
'description': 'Created using the Classroom CourseWork API.',
'workType': 'ASSIGNMENT',
'state': 'DRAFT', # Set to 'PUBLISHED' to assign to students.
'maxPoints': 100,
'materials': [
{'link': {'url': my_content_url}}
]
}
assignment = (
service.courses()
.courseWork()
.create(courseId=course_id, body=coursework)
.execute()
)
print(
f'Link Material assignment created with ID: {assignment.get("id")}'
)
Odpowiedź zawiera projekt z wybranych zajęć wraz z treścią
załączony. Użytkownicy mogą kliknąć Link
, aby otworzyć zawartość witryny w nowym formacie
.
Rysunek 1. Widok nauczyciela wersji roboczej projektu CourseWork z materiałem z linkiem.
Uprawniony użytkownik
Jeśli użytkownik może tworzyć załączniki dodatków, wykonaj te czynności.
- Utwórz nowy projekt
CourseWork
bez załączników. - Utwórz załącznik dodatku.
- Ustaw
itemId
elementuAddOnAttachment
na wartośćid
nowo utworzonych elementów projektu. - Pamiętaj, aby podać adresy URL treści wybranych przez użytkownika w każdym widoku danych który obsługuje.
- Ustaw
Python
if is_create_attachment_eligible:
coursework = {
'title': 'My CourseWork Assignment with Add-on Attachment',
'description': 'Created using the Classroom CourseWork API.',
'workType': 'ASSIGNMENT',
'state': 'DRAFT', # Set to 'PUBLISHED' to assign to students.
'maxPoints': 100,
}
assignment = (
classroom_service.courses()
.courseWork()
.create(courseId=course_id, body=coursework)
.execute()
)
print(
f'Empty assignment created with ID: {assignment.get("id")}'
)
attachment = {
'teacherViewUri': {'uri': teacher_view_url},
'studentViewUri': {'uri': student_view_url},
'studentWorkReviewUri': {'uri': grade_student_work_url},
'title': f'Test Attachment {test_label}',
}
add_on_attachment = (
service.courses()
.courseWork()
.addOnAttachments()
.create(
courseId=course_id,
itemId=assignment.get("id"), # ID of the new assignment.
body=attachment,
)
.execute()
)
print(
f'Add-on attachment created with ID: {add_on_attachment.get("id")}'
)
Dodatek będzie widoczny w Classroom jako karta załącznika. Adresy URL wskazane w prośbie, otwarte w odpowiednim iframe dla każdego widoku