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. Bu türler 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
bunlar daha ayrıntılı olarak açıklanmaktadı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ğlantılı materyalleri dahil etmek için, hedef URL'yi belirten bir Bağlantı kaynağı kullanın. Classroom, başlığı ve küçük resmi otomatik olarak getirir. Classroom API, Google Drive ve YouTube materyallerini yerel olarak destekler. Bunlara benzer şekilde DriveFile kaynağı veya YouTubeVideo kaynağı da eklenebilir.
Son tarih belirtmek için dueDate
ve dueTime
alanlarını karşılık gelen UTC saatine ayarlayın. Son tarih gelecekte olmalıdır.
Ödev 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şen) almak içincourses.courseWork.list öğesini kullanın.
Gerekli kapsam, istekte bulunan kullanıcının kursta sahip olduğu role bağlıdır. Kullanıcı bir öğ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, derslerindeki tüm öğrencilerin gönderimlerini alabilir ve alan yöneticileri, alanlarındaki tüm öğrenciler için tüm gönderimleri 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ı 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'nın döndürdüğü şekliyle, kullanıcının benzersiz kimliği 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
Öğ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 ilgili referans sayfalarından bilgi edinebilirsiniz.
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