Classroom uygulaması üç tür yayın öğesini destekler:
CourseWork
, CourseWorkMaterials
ve Announcements
. Bu kılavuzda CourseWork
öğesinin nasıl yönetileceği açıklanmaktadır ancak tüm akış öğelerinin API'leri benzerdir. Akış öğesi türleri ve aralarındaki farklar hakkında daha fazla bilgi edinmek için API kaynaklarına göz atın.
CourseWork
kaynağı, belirli bir kurstaki öğrencilere atanan bir çalışma öğesini (son tarih veya maksimum puan gibi ek materyaller ve ayrıntılar dahil) temsil eder. CourseWork
'nin dört alt türü vardır:
Ödevler, test ödevleri, kısa yanıtlı sorular ve
çoktan seçmeli sorular. Classroom API, bu alt türlerden üçünü destekler: ödevler, kısa yanıtlı sorular ve çoktan seçmeli sorular. Bu türler CourseWork.workType
alanıyla temsil edilir.
CourseWork
kaynağına ek olarak, tamamlanan çalışmaları StudentSubmission
kaynağıyla da yönetebilirsiniz.
Ödev oluşturma
CourseWork
, yalnızca kursun öğretmeni adına oluşturulabilir.
Bir öğrenci veya kursta öğretmen olmayan bir alan yöneticisi adına CourseWork
oluşturmaya çalışmak PERMISSION_DENIED
hatasına neden olur. Classroom'daki farklı roller hakkında daha fazla bilgi edinmek için Kullanıcı türleri başlıklı makaleyi inceleyin.
courses.courseWork.create
yöntemini kullanarak CourseWork
oluştururken bağlantıları materials
olarak ekleyebilirsiniz. Aşağıdaki örnek kodda bu işlem gösterilmektedir:
Java
Python
title
ve workType
alanları zorunludur. Diğer tüm alanlar isteğe bağlıdır.
state
belirtilmezse CourseWork
taslak durumunda oluşturulur.
Bağlı materyalleri CourseWork
'a dahil etmek için belirtilen bir hedef url
ile Kaynak bağla öğesini kullanın. Classroom, title
ve küçük resim URL'sini (thumbnailUrl
) otomatik olarak getirir. Classroom API, Google Drive ve YouTube materyallerini de doğal olarak destekler. Bu materyaller, benzer şekilde bir DriveFile kaynağı veya YouTubeVideo kaynağı ile dahil edilebilir.
Teslim tarihini belirtmek için dueDate
ve dueTime
alanlarını ilgili UTC saatine ayarlayın. Son tarih gelecekte olmalıdır.
CourseWork
yanıtı, diğer API isteklerinde atamaya referans vermek için kullanılabilecek, sunucuya atanan bir tanımlayıcı içerir.
CourseWork'u alma
İlgili dersin öğrencileri ve öğretmenleri adına CourseWork
değerini alabilirsiniz. Ayrıca, kursta öğretmen olmasalar bile alan yöneticileri adına CourseWork
alabilirsiniz. Belirli bir CourseWork
almak için courses.courseWork.get
kullanın. Tüm CourseWork
öğelerini (isteğe bağlı olarak bazı ölçütlerle eşleşen) almak için courses.courseWork.list
öğesini kullanın.
Gerekli kapsam, istek gönderen kullanıcının kurstaki rolüne bağlıdır. Kullanıcı öğrenciyse aşağıdaki kapsamlardan birini kullanın:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
Kullanıcı bir öğretmen veya alan yöneticisiyse aşağıdaki kapsamlardan birini kullanın:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
CourseWork
almak için izin sahibi olmak, materyallere veya materyal meta verilerine erişim izni olduğu anlamına gelmez. Bu durum, derse üye olmayan yöneticilerin ekteki Drive dosyasının başlığını göremeyeceği anlamına gelir.
Öğrenci yanıtlarını yönetme
StudentSubmission
kaynağı, bir öğrenci tarafından CourseWork
için yapılan çalışmaları temsil eder. Kaynak, çalışma durumu ve not gibi çalışmayla ilgili meta verileri içerir. Yeni bir CourseWork
oluşturulduğunda her öğrenci için StudentSubmission
gizli olarak oluşturulur.
Aşağıdaki bölümlerde, öğrenci yanıtlarını yöneten yaygın işlemler açıklanmaktadır.
Öğrenci yanıtlarını alma
Öğrenciler kendi gönderimlerini, öğretmenler kurslarındaki tüm öğrencilerin gönderimlerini, alan yöneticileri ise alanlarındaki tüm öğrencilerin gönderimlerini alabilir. Her StudentSubmission
için bir tanımlayıcı atanır. Tanımlayıcıyı biliyorsanız gönderimi almak için courses.courseWork.studentSubmissions.get
kullanın.
Aşağıdaki örnekte gösterildiği gibi, bazı ölçütlere uyan tüm StudentSubmission
kaynaklarını almak için courses.courseWork.studentSubmissions.list
yöntemini kullanın:
Java
Python
Aşağıdaki örnekte gösterildiği gibi userId
parametresini belirterek belirli bir öğrenciye ait StudentSubmission
kaynaklarını alın:
Java
Python
Öğrenciler, Student
kaynağında gösterildiği gibi benzersiz kimlik veya e-posta adresiyle tanımlanır. Mevcut kullanıcı, "me"
kısaltmasını kullanarak kendi kimliğine de atıfta bulunabilir.
Bir kurstaki tüm ödevler için öğrenci gönderimlerini de alabilirsiniz. Bunu yapmak için aşağıdaki örnekte gösterildiği gibi courseWorkId
olarak "-"
değişmez değerini kullanın:
Java
service.courses().courseWork().studentSubmissions()
.list(courseId, "-")
.set("userId", userId)
.execute();
Python
service.courses().courseWork().studentSubmissions().list(
courseId=<course ID or alias>,
courseWorkId='-',
userId=<user ID>).execute()
Gerekli kapsam, istek yapan kullanıcının kurstaki rolüne bağlıdır. Kullanıcı bir öğretmen veya alan yöneticisiyse aşağıdaki kapsamı kullanın:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
Kullanıcı öğrenciyse aşağıdaki kapsamı kullanın:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
StudentSubmission
alma izniniz olması, eklerine veya ek meta verilerine erişim izniniz olduğu anlamına gelmez. Bu durum, derse üye olmayan yöneticilerin ekteki Drive dosyasının başlığını göremeyeceği anlamına gelir.
Öğrenci yanıtlarına ek ekleme
Link
, DriveFile
veya YouTubeVideo
kaynağı ekleyerek öğrenci gönderimlerine bağlantı ekleyebilirsiniz. Bu işlem, aşağıdaki örnekte gösterildiği gibi courses.courseWork.studentSubmissions.modifyAttachments
ile yapılır:
Java
Python
Link
eki, hedef url
tarafından tanımlanır; Classroom, title
ve küçük resim (thumbnailUrl
) dosyalarını otomatik olarak getirir. StudentSubmissions
'a eklenebilecek materyaller hakkında bilgi edinmek için Material
bölümüne bakın.
StudentSubmission
yalnızca kurs öğretmeni veya sahibi olan öğrenci tarafından değiştirilebilir. Yalnızca StudentSubmission
öğesinin CourseWorkType
değeri ASSIGNMENT
ise Materials
öğesini ekleyebilirsiniz.
Gerekli kapsam, istek yapan kullanıcının kurstaki rolüne bağlıdır. Kullanıcı bir öğretmense aşağıdaki kapsamı kullanın:
https://www.googleapis.com/auth/classroom.coursework.students
Kullanıcı öğrenciyse aşağıdaki kapsamı kullanın:
https://www.googleapis.com/auth/classroom.coursework.me