Öğrencileri belirli gruplara ayırarak (ör. belirli bir gruba yönelik ödevler ve ortak çalışmalar) daha iyi bir eğitim deneyimi sunmak için öğrenci gruplarını kullanabilirsiniz. Yöneticiler ve öğretmenler adına bir kurstaki öğrenci gruplarını oluşturmak, değiştirmek ve okumak için Classroom API'yi kullanın.
Aşağıdaki yöntemleri kullanarak öğrenci grupları oluşturabilir, güncelleyebilir, silebilir ve okuyabilirsiniz:
Ayrıca, aşağıdaki yöntemleri kullanarak öğrenci grubuna üye ekleyebilir, üyeleri kaldırabilir ve okuyabilirsiniz:
Geliştirici Önizleme Programı'nda öğrenci grupları yöntemlerine erişme
Önizlemedeki öğrenci grupları yöntemlerine erişmek için aşağıdakileri yapmanız gerekir:
- Geliştirici Önizleme Programı'na (DPP) katılın.
- Önizleme özelliklerine erişmek için istemci kitaplığınızı ayarlayın. DPP'deki yöntemler, standart istemci kitaplıklarında ve standart HTTP isteklerinde kullanıma sunulmaz. DPP'ye başarılı bir şekilde katıldıktan sonra belirli programlama dilleri için öğrenci grupları istemci kitaplıklarına erişebilir ve bunları indirebilirsiniz. Seçtiğiniz istemci kitaplığını önizleme sürümü ve etiketiyle nasıl ayarlayacağınızı öğrenmek için Önizleme API'lerine erişim sayfasını inceleyin.
- API istekleri gönderirken önizleme sürümünü ve önizleme etiketini ayarlayın. Öğrenci grupları yöntemleri için önizleme sürümü
V1_20250630_PREVIEW
, önizleme etiketi iseDEVELOPER_PREVIEW
şeklindedir. Önizleme sürümüyle ilgili API isteklerinin örneklerini Öğrenci gruplarını yönetme bölümünde bulabilirsiniz.
Lisanslama ve uygunluk koşulları
Bir kursta öğrenci grupları oluşturmak, değiştirmek veya silmek ve öğrenci gruplarına üye eklemek ya da üye kaldırmak için aşağıdaki koşulların karşılanması gerekir:
- İsteği gönderen kullanıcı, kurstaki bir öğretmen veya alanın yöneticisi olmalıdır.
- İsteği gönderen kullanıcıya Google Workspace for Education Plus lisansı atanmış olmalıdır.
- Kurs sahibine Google Workspace for Education Plus lisansı atanmış olmalıdır.
Öğrenci gruplarını ve üyelerini okuma
Bir kursun yöneticileri ve öğretmenleri, hangi lisansın kendilerine atandığına bakılmaksızın öğrenci grubu verilerini okuyabilir. Bu, ListStudentGroups
ve ListStudentGroupMembers
uç noktalarına yapılan isteklerin, kurstaki herhangi bir yönetici veya öğretmen adına izin verildiği anlamına gelir.
Kod örneği ön koşulları
Bu kılavuzda Python dilinde kod örnekleri verilmektedir ve aşağıdaki şartları karşıladığınız varsayılmaktadır:
- Google Cloud projesi. Python hızlı başlangıç bölümündeki talimatları uygulayarak bir tane oluşturabilirsiniz.
- Projenizin OAuth kullanıcı rızası ekranına aşağıdaki kapsamlar eklendi:
https://www.googleapis.com/auth/classroom.rosters
- Salt okunur uç noktalar için
https://www.googleapis.com/auth/classroom.rosters.readonly
.
- Öğrenci gruplarının yönetilmesi gereken bir kursun kimliği. Kurs sahibinin Google Workspace for Education Plus lisansı olmalıdır.
- Google Workspace for Education Plus lisansına sahip bir öğretmenin veya yöneticinin kimlik bilgilerine erişim
Başlangıç noktası olarak Python hızlı başlangıç kılavuzunu kullandıysanız önizleme yöntemlerine erişmek için Classroom hizmetini değiştirin.
Python
classroom_service = googleapiclient.discovery.build(
serviceName='classroom',
version='v1',
credentials=creds,
static_discovery=False,
discoveryServiceUrl='https://classroom.googleapis.com/$discovery/rest?labels=DEVELOPER_PREVIEW&key=API_KEY')
Kullanıcı uygunluğunu kontrol etme
Classroom API, kullanıcının öğrenci grupları ve üyelerini oluşturup değiştirebileceğini proaktif olarak belirlemenize yardımcı olmak için userProfiles.checkUserCapability
uç noktasını sağlar.
userProfiles.checkUserCapability
uç noktası yalnızca kullanıcının belirli bir özelliği (ör. öğrenci gruplarını değiştirme) kullanmaya uygun olup olmadığını değerlendirir. Kurs rolü hakkında bilgi verilmez. Örneğin, bir kullanıcının CREATE_STUDENT_GROUP
özelliği olsa bile kursa kayıtlı bir öğrenciyse CreateStudentGroup
uç noktasına yapılan istek başarılı olmaz.
Python
def check_student_groups_update_capability(classroom_service, course_id):
"""Checks whether a user is able to create and modify student groups in a course."""
capability = classroom_service.userProfiles().checkUserCapability(
userId="me", # Can also be set to a different user's email address or ID
capability="CREATE_STUDENT_GROUP",
previewVersion="V1_20240930_PREVIEW" # Required while the method is in the DPP.
).execute()
if capability.get("allowed"): # Retrieve the `allowed` boolean from the response.
print("User is allowed to create and modify student groups.")
else:
print("User is not allowed to create and modify student groups.")
Öğrenci gruplarını yönetme
Öğrenci grupları, CreateStudentGroup
uç noktası kullanılarak oluşturulabilir.
Python
def create_student_group(classroom_service, course_id):
body = {
"title": "Team Blue"
}
response = classroom_service.courses().studentGroups().create(
courseId=course_id,
body=body,
previewVersion="V1_20250630_PREVIEW",
).execute()
print(response)
Yanıt, yeni oluşturulan öğrenci grubunun id
, courseId
ve öğrenci grubu title
bilgilerini içerir.
Öğrenci grubu id
, tek tek öğrenci gruplarını güncellemek veya silmek için kullanılabilir.
Python
def update_student_group(classroom_service, course_id, student_group_id):
body = {
"title": "Team Green"
}
response = classroom_service.courses().studentGroups().patch(
courseId=course_id,
id=student_group_id,
body=body,
updateMask="title",
previewVersion="V1_20250630_PREVIEW"
).execute()
print(response)
def delete_student_group(classroom_service, course_id, student_group_id):
response = classroom_service.courses().studentGroups().delete(
courseId=course_id,
id=student_group_id,
previewVersion="V1_20250630_PREVIEW",
).execute()
print(response)
Bir kurstaki öğrenci gruplarını ListStudentGroups
uç noktasını kullanarak alabilirsiniz:
Python
def list_student_groups(classroom_service, course_id):
results = classroom_service.courses().studentGroups().list(
courseId=course_id,
previewVersion="V1_20250630_PREVIEW"
).execute()
studentGroups = results.get("studentGroups")
Öğrenci grubu üyelerini yönetme
Öğrenci grubu başarıyla oluşturulduktan sonra gruba üye ekleyebilirsiniz.
Python
def add_student_group_member(classroom_service, course_id, student_group_id):
body = {
"userId": "student@schooldomain.com"
}
response = classroom_service.courses().studentGroups().studentGroupMembers().create(
courseId=course_id,
studentGroupId=student_group_id,
body=body,
previewVersion="V1_20250630_PREVIEW"
).execute()
print(response)
Bir öğrenci grubundan üye kaldırmak istiyorsanız aşağıdaki gibi bir istekte bulunun:
Python
def delete_student_group_member(classroom_service, course_id, student_group_id):
response = classroom_service.courses().studentGroups().studentGroupMembers().delete(
courseId=course_id,
studentGroupId=student_group_id,
userId="student@schooldomain.com",
previewVersion="V1_20250630_PREVIEW"
).execute()
print(response)
Aşağıdaki isteği göndererek bir gruptaki üyeleri okuyabilirsiniz:
Python
def list_student_group_members(classroom_service, course_id, student_group_id):
results = classroom_service.courses().studentGroups().studentGroupMembers().list(
courseId=course_id,
studentGroupId=student_group_id,
previewVersion="V1_20250630_PREVIEW"
).execute()
print(results.get("studentGroupMembers"))
Her StudentGroupMember
kaynağı, grup üyesinin courseId
, studentGroupId
ve userId
bilgilerini içerir.