Hem Classroom'u hem de üçüncü taraf araçlarından yararlanan öğretmenler, kursları ve öğrenci listelerini birden fazla platformda oluşturma zorluğunu yaşar. Bu işlem, CSV yüklemeleri kullanılarak veya e-postalar tek tek girerek manuel olarak yapılabilir. Ancak Classroom API'deki üçüncü taraf araçlar, API'nin en yaygın kullanım alanı olan öğretmen içe aktarma ile entegrasyon sağlayarak öğretmenlerinin 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 alan genelinde 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.
Seçilen ders kimliğiyle üçüncü taraf uygulaması,
students.list
veteachers.list
yöntemlerini çağırır ve öğretmenlerin içe aktarma işlemini onaylaması için tüm adları kendi 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ında yeni içe aktarılan kursa katılmaya davet ediyor.
İş akışında belirtilen yöntemlerin her birinin tam olarak nasıl davrandığını görmek için API Explorer'ı 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çbiri gerekli olmasa da ö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. Belirtilmemesi durumunda istek, alanın tamamındaki öğretmenler için dersleri 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 zorunlu olan tek sorgu parametresidir. Ancak benzer şekilde, API çağrılarınızın yanıt süresini kısaltmak 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. |
Bu kurs veya öğrenci listesi ayrıntılarından herhangi birini Classroom'dan almak ve kullanmak için uygulamanızın kullanıcılardan yetki talep etmesi 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
- Öğretmenlerin ve öğrencilerin e-posta mülküne Okuma erişimi verir
Öğrenci listelerini Pub/Sub bildirimleriyle 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şturmanız ve ardından konuyu Classroom API'ye kaydetmeniz gerekir. 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 bildirimleri ile nasıl entegrasyon sağlanacağı hakkında daha fazla bilgi edinmek için Push Bildirimleri'ni yönetme rehberimize göz atın.