Hem Classroom hem de üçüncü taraf araçlardan yararlanan öğretmenler, kurslarını ve öğrenci listelerini çeşitli platformlarda oluşturmakla yükümlüdür. Bu işlem, CSV yüklemeleri kullanılarak veya e-postaları tek tek girerek manuel olarak yapılabilir. Classroom API'si sayesinde üçüncü taraf araçlar, API'nin en yaygın kullanım alanı olan öğrenci içe aktarma entegrasyonu yaparak öğretmenlerinin iş yükünü azaltabilir.
Öğrenci listesi içe aktarma özelliği, öğretmen veya yönetici izinleriyle üçüncü taraf platformların derse ait meta verileri, öğretmenleri ve öğrencileri derse göre almasına olanak tanır. Öğretmenler, verdikleri derslerle ilgili ayrıntıları alabilir. Yöneticiler ise alanın tamamındaki tüm kurslarla ilgili ayrıntılara erişebilir. Bu esneklik, geliştiricilerin yönetici kimlik bilgilerini kullanarak Classroom öğrenci listelerini kendi platformlarına, hem bireysel öğretmen düzeyinde hem de tüm alan genelinde sorunsuz bir şekilde eklemesine olanak tanır.
Bir öğrenci listesi içe aktarma entegrasyonunun nasıl görünebileceğine dair teknik ayrıntılara geçmeden önce örnek bir iş akışını inceleyelim:
Üçüncü taraf uygulamasında, öğretmen bir Classroom Dersini içe aktarma seçeneğini tercih eder.
Üçüncü taraf uygulaması, Classroom API üzerinden
courses.list
yöntemini çağırır. Bu yöntem, tüm öğretmenin derslerini içeren bir yanıt JSON yanıtı döndürür.Üçüncü taraf uygulama, json yanıtında öğretmenin ders başlıklarını seçmesi için öğretmenin derslerini gösterir. Bir sonraki adıma geçmek için uygulamanın kurs kimliklerini takip etmesi gerekir.
Seçilen ders kimliği ile üçüncü taraf uygulama
students.list
veteachers.list
yöntemlerini çağırır ve öğretmenlerin içe aktarma işlemini onaylaması için web sitesinde tüm adları gösterir.Üçüncü taraf uygulaması,
students.list
veteachers.list
yanıt JSON dosyalarında döndürülen e-postaları kullanarak kullanıcıları kendi platformlarında yeni içe aktarılan derse katılmaya davet eder.
İş akışında bahsedilen yöntemlerin her biriyle ilgili olarak her bir yöntemin 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 öneririz:
Başlayın
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. Kurs meta verilerinin hangileri olduğunu Referans belgelerinde görebilirsiniz ancak gerekli bazı veya yaygın alanlar aşağıda özetlenebilir:
Alan | Kullan |
---|---|
id | Öğrenci veya öğretmenleri alan API istekleri için zorunludur |
ad | Kullanıcıların kullanım kolaylığı (ör. web sitenizde görüntüleme) için önerilir |
ownerId | Bir dersin ana öğretmenini doğru şekilde tanımlamak için alan genelinde içe aktarma sırasında gereklidir |
Bu kurs bilgileri, yukarıdaki iş akışının 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ı ders durumunun tümünün derslerini döndürür. Öğretmenlerin kullanmakta olduğu dersleri almak için ACTIVE değerinin belirtilmesini öneririz. |
pageSize | Kendi kurslarını içe aktaran öğretmenlerin API çağrısının yanıt süresini kısaltmak için küçük (10'dan az) bir pageSize belirtmesini öneririz. |
pageToken | Sayfalandırılmış istekler kullanıyorsanız gereklidir. |
teacherId | Alan yöneticileri genellikle ders verdiği için bu öneri verilmektedir. Belirtilmezse istek, tüm alandaki öğretmenler için dersleri döndürür. |
fields | API çağrısının yanıt süresini kısaltmak için önerilir. |
Uygulamanız, daha önce aldığınız ders kimliklerini kullanarak artık söz konusu kurs veya derslere ait öğrenci ve yardımcı öğretmenlerin listesini alabilir. Bu kurs kimliği, teachers.list
ve students.list
için gerekli tek sorgu parametresidir ancak API çağrılarınızın yanıt süresini kısaltmak için pageSize
ve fields
parametrelerini belirtmeyi de düşünebilirsiniz.
Öğrenci ve öğretmen kaynakları için mevcut tüm alanları ilgili belgelerde bulabilirsiniz. Çoğunlukla kullanılan ve genellikle gerekli olan iki alan profile
alanındadır: profile.name
ve profile.emailAddress
.
Alan | Kullan |
---|---|
profile.name | Kullanıcıların kullanım kolaylığı (ör. web sitenizde görüntüleme) için önerilir |
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 yetkilendirme istemesi gerekir. Bu iş akışını uygulamak için gereken üç (3) kapsam vardır:
- https://www.googleapis.com/auth/classroom.courses.readonly
- Google Classroom Dersler'e salt okuma erişimi sağlar
- https://www.googleapis.com/auth/classroom.rosters.readonly
- Google Classroom derslerinin görev dağıtıcılarına (öğ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 sağlar
Listeleri Pub/Sub Bildirimleriyle Senkronize Etme
Öğretim yılı ilerledikçe, öğrenciler bıraktıkça veya ders ekledikçe öğrenci listeleri değişebilir. Pub/Sub bildirimleri eklemek, üçüncü taraf uygulamanızı Classroom değerlendirme araçları ile senkronize halde tutmanıza olanak tanır. Bildirim almak için bir Google Cloud Pub/Sub konusu oluşturup konuyu Classroom API'ye kaydetmeniz gerekir. Bu kayıt, Classroom'un, belirtilen feed'den belirtilen konuya veri göndermesi için yapılan bir istektir. Bu feed, bir öğretmenin Classroom öğrenci listesiyle yeniden senkronizasyon için etkinlik tetikleyicisi olacaktır.
Push bildirimlerini kullanmak, doğrulama için gönderilmesi gerekmeyen bir ek kapsam gerektirir:
- https://www.googleapis.com/auth/classroom.push-notifications
- Uygulamanızın tüm push bildirimi etkinliklerine kaydolmasına izin verir
Classroom push bildirimleriyle nasıl entegrasyon hakkında daha fazla bilgi edinmek için Push Bildirimlerini Yönetme kılavuzumuzu inceleyin.