Classroom kullanıcı arayüzü beş sınıf çalışması türünü destekler: Ödevler, Test Ödevleri, Kısa yanıtlı sorular, Çoktan seçmeli sorular ve Materyaller. Classroom API şu anda bu türlerden üçünü desteklemektedir. Bunlar API'de CourseWorkType
olarak bilinir: Ödevler, kısa yanıtlı sorular ve çoktan seçmeli sorular.
Bu işleve erişmek için CourseWork kaynağını kullanabilirsiniz. Bu kaynak, belirli bir kurstaki öğrencilere atanan bir Ödev veya Soru'yu (teslim tarihi ya da maksimum puan gibi ek materyaller ve ayrıntılar dahil) temsil eder.
CourseWork kaynağına ek olarak, tamamlanmış ödevleri StudentSubmission
kaynağıyla da yönetebilirsiniz. Aşağıdaki bölümlerde bu konular daha ayrıntılı olarak açıklanmıştır.
Ödev oluşturma
Ödevler yalnızca dersin öğretmenleri adına oluşturulabilir. Bir öğrenci adına derste ödev oluşturmaya çalışmak 403 PERMISSION_DENIED
hatasına neden olur. Benzer şekilde, alan yöneticileri de ders vermedikleri kurslar için ödev oluşturamaz. API üzerinden bunu yapmaya çalışmak da 403 PERMISSION_DENIED
hatasıyla sonuçlanır.
courses.courseWork.create
yöntemini kullanarak ödev oluştururken bağlantıları materials
olarak ekleyebilirsiniz. Aşağıdaki örnek kodda bu yöntem gösterilmektedir:
Java
Python
Sonuç, diğer API isteklerinde atamayı referans olarak kullanmak için kullanılabilecek, sunucu tarafından atanan bir tanımlayıcı içerir.
Classroom API aracılığıyla oluşturulan bir ödeve bağlı materyaller eklemek için hedef URL'yi belirterek Kaynak bağla'yı kullanın. Classroom, başlığı ve küçük resmi otomatik olarak getirir. Classroom API, Google Drive ve YouTube materyallerini de doğal olarak destekler. Bu materyaller, DriveFile kaynağı veya YouTubeVideo kaynağı ile benzer bir şekilde eklenebilir.
Teslim tarihini belirtmek için dueDate
ve dueTime
alanlarını ilgili UTC saatine ayarlayın. Son tarih gelecekte olmalıdır.
Ödevleri ve soruları alma
İlgili kursun öğrencileri ve öğretmenleri veya alan yöneticileri için ödevleri ve soruları alabilirsiniz. Belirli bir ödevi veya soruyu almak için courses.courseWork.get işlevini kullanın. Tüm ödevleri veya soruları (isteğe bağlı olarak bazı ölçütlerle eşleştirerek) almak için courses.courseWork.list işlevini kullanın.
Gerekli kapsam, istek yapan 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
Ödev veya soru alma izni, materyallere ya da materyal meta verilerine erişim izni anlamına gelmez. Bu durum, derse üye olmayan yöneticilerin ekteki Drive dosyasının başlığını göremeyeceği anlamına gelir. Yöneticilerin kullanıcı dosyalarına erişmesine izin vermek istiyorsanız alan genelinde yetki verme kılavuzuna bakın.
Öğrenci yanıtlarını yönetme
StudentSubmission
kaynağı, bir ödev veya soru için öğrencinin yaptığı çalışmayı ve notunu temsil eder. Yeni bir soru veya ödev oluşturulduğunda her öğrenci için StudentSubmission
kaynağı dolaylı 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 öğrenci gönderimine bir tanımlayıcı atanır. Tanımlayıcıyı biliyorsanız courses.courseWork.studentSubmissions.get
kullanarak alabilirsiniz.
Aşağıdaki örnekte gösterildiği gibi, bazı ölçütlerle eşleşen 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, Google Admin SDK'sı tarafından döndürülen kullanıcının benzersiz kimliği veya e-posta adresiyle tanımlanır. Mevcut kullanıcı, "me"
kısayolunu 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
Öğrenci gönderimlerini 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. Yöneticilerin kullanıcı dosyalarına erişmesine izin vermek istiyorsanız alan genelinde yetki verme kılavuzuna bakın.
Öğ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
Bağlantı eki, hedef URL ile tanımlanır. Classroom, başlığı ve küçük resmi otomatik olarak getirir. Diğer materyaller hakkında bilgi edinmek için ilgili referans sayfalarını inceleyebilirsiniz.
StudentSubmission
yalnızca kurs öğretmeni veya sahibi olan öğrenci tarafından değiştirilebilir. Yalnızca öğrenci gönderimindeki CourseWorkType
ASSIGNMENT
ise Materials
ekleyebilirsiniz.
Gerekli kapsam, istek gönderen 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