Hem Classroom'dan hem de üçüncü taraf araçlarından yararlanan öğretmenler, derslerini ve öğrenci listelerini birden fazla platformda oluşturma zorluğuyla karşılaşır. Bu işlem, CSV yüklemeleri kullanılarak veya e-postalar tek tek girerek manuel olarak yapılabilir. Ancak Classroom API ile üçüncü taraf araçları, API'nin en yaygın kullanım alanı olan öğrenci listesi içe aktarma özelliğiyle entegre olarak öğretmenlerin iş yükünü azaltabilir.
Kayıt listelerini içe aktarma özelliği, üçüncü taraf platformların öğretmen veya yönetici izinleriyle bir dersin meta verilerini, öğretmenlerini ve öğrencilerini sınıf bazında almasına olanak tanır. Öğretmenler, verdikleri derslerin ayrıntılarını alabilir. Yöneticiler ise bir alanın tüm kurslarının ayrıntılarına erişebilir. Bu esneklik, geliştiricilerin Classroom sınıf listelerini hem tek bir öğretmen düzeyinde hem de yönetici kimlik bilgilerini kullanarak tüm bir alanda platformlarına sorunsuz bir şekilde eklemelerine olanak tanır.
Kadro içe aktarma entegrasyonunun teknik ayrıntılarına geçmeden önce bir örnek iş akışını inceleyelim:
Öğretmen, üçüncü taraf uygulamasında Classroom Kursu içe aktarma seçeneğini belirler.
Üçüncü taraf uygulaması, Classroom API aracılığıyla
courses.list
yöntemini çağırır. Bu yöntem, öğretmenin tüm kurslarını içeren bir yanıt JSON'u döndürür.Üçüncü taraf uygulaması, json yanıtından öğretmenin seçmesi için öğretmenin kurslarının başlıklarını gösterir. Uygulamanın, sonraki adıma geçmek için kurs kimliklerini takip etmesi gerekir.
Üçüncü taraf uygulaması, seçili kurs kimliğiyle
students.list
veteachers.list
yöntemlerini çağırır ve öğretmenlerin içe aktarma işlemini onaylaması için tüm adları web sitesinde gösterir.Üçüncü taraf uygulaması,
students.list
veteachers.list
yanıt json'larında döndürülen e-postaları kullanarak kullanıcıları platformlarına yeni içe aktarılan kursa katılmaya davet eder.
İş akışında belirtilen yöntemlerin her birinin tam olarak nasıl davrandığını görmek için API Gezgini'ni kullanabilirsiniz. Bu kılavuzu bitirmeden önce aşağıdaki ön okumaları da yapmanızı öneririz:
Başlarken
Classroom öğrenci listesi içe aktarma işleminizle ilgili ayrıntıları uygulamadan önce, API aracılığıyla hangi kurs ve kullanıcı bilgilerini almanız gerektiğini belirlemeniz gerekir. Referans dokümanlarında hangi kurs meta verilerinin kullanılabileceğini görebilirsiniz. Bununla birlikte, gerekli veya yaygın olarak kullanılan bazı alanları aşağıda özetleyebiliriz:
Alan | Kullan |
---|---|
id | Öğrenci veya öğretmen alan API istekleri için gereklidir |
ad | Kullanıcının kolayca kullanabilmesi için önerilir (ör. web sitenizde gösterilir) |
ownerId | Bir dersin ana öğretmenini doğru şekilde tanımlamak için alan genelinde içe aktarma işleminde gereklidir |
Bu kurs bilgileri, yukarıdaki iş akışı courses.list
adımında alınır. Bu istekte belirli istek parametrelerini belirtebilirsiniz. Bu yöntem için hiçbir parametre zorunludur ancak önerilen bazı parametreler şunlardır:
Parametre | Kullan |
---|---|
courseState | Belirtilmemişse API, altı kurs durumundan tüm kursları döndürür. Öğretmenlerin şu anda kullandığı kursları almak için ACTIVE değerini belirtmenizi öneririz. |
pageSize | Kendi kurslarını içe aktaran öğretmenler için API çağrısının yanıt süresini azaltmak amacıyla küçük (10'dan az) bir pageSize belirtmenizi öneririz. |
pageToken | Sayfaya ayrılmış istekler kullanıyorsanız gereklidir. |
teacherId | Alan yöneticileri genellikle kurslar verdiği için önerilir. Belirtilmemişse istek, alanın tamamındaki öğretmenlere yönelik kursları döndürür. |
Fields | API çağrısının yanıt süresini azaltmanız önerilir. |
Daha önce alınan ders kimliklerini kullanarak uygulamanız artık ilgili ders veya derslerin öğrenci ve yardımcı öğretmen listesini alabilir. Bu kurs kimliği, teachers.list
ve students.list
için gerekli olan tek sorgu parametresidir ancak API çağrılarınızın yanıt süresini azaltmak için pageSize
ve fields
parametrelerini de belirtebilirsiniz.
Öğrenci ve öğretmen kaynakları için kullanılabilen tüm alanları ilgili dokümanlarda bulabilirsiniz. En yaygın kullanılan ve genellikle zorunlu olan iki alan profile
alanındadır: profile.name
ve profile.emailAddress
.
Alan | Kullan |
---|---|
profile.name | Kullanıcının kolayca kullanabilmesi için önerilir (ör. web sitenizde gösterilir) |
profile.emailAddress | Öğrencileri benzersiz şekilde tanımlamak isteyen uygulamalar için gereklidir. |
Classroom'dan bu kurs veya liste ayrıntılarından herhangi birini almak ve kullanmak için uygulamanızın kullanıcılardan yetkilendirme istemesi gerekir. Bu iş akışını uygulamak için üç (3) kapsam gereklidir:
- https://www.googleapis.com/auth/classroom.courses.readonly
- Google Classroom Kurslarına salt okuma erişimi sağlar.
- https://www.googleapis.com/auth/classroom.rosters.readonly
- Google Classroom kurslarının öğrenci listelerine (öğretmenler ve öğrenciler) salt okuma erişimi sağlar.
- https://www.googleapis.com/auth/classroom.profile.emails
- Öğretmenler ve öğrencilerin e-posta mülküne okuma erişimi sağlar.
Pub/Sub Bildirimleri ile Ekip Listelerini Senkronize Etme
Okul yılı ilerledikçe öğrenciler dersleri bıraktığında veya eklediğinde listeler değişebilir. Pub/Sub bildirimleri eklemek, üçüncü taraf uygulamanızı Classroom öğrenci listeleriyle senkronize tutmanıza olanak tanır. Bildirim almak için bir Google Cloud Pub/Sub konusu oluşturur ve ardından konuyu Classroom API'ye kaydedersiniz. Bu kayıt, Classroom'un belirli bir feed'den belirli bir konuya veri göndermesi için gönderilen bir istektir. Bu feed, öğretmenin Classroom öğrenci listesiyle yeniden senkronizasyon için etkinlik tetikleyicileri olacaktır.
Push bildirimleri kullanmak için bir ek kapsam gerekir. Bu kapsamın doğrulama için gönderilmesi gerekmez:
- https://www.googleapis.com/auth/classroom.push-notifications
- Uygulamanızın herhangi bir push bildirimi etkinliğine kaydolmasına izin verir
Classroom push bildirimleriyle entegrasyon hakkında daha fazla bilgi için Push bildirimlerini yönetme rehberimizi inceleyin.