Bu sayfada, sık karşılaşılan bazı Google Classroom API hata mesajları, sorunları ve aşağıdaki hata türleri için olası işlemler açıklanmaktadır:
- HTTP 400:
FAILED_PRECONDITION
- HTTP 403:
PERMISSION_DENIED
- HTTP 429:
RESOURCE_EXHAUSTED
- HTTP 500:
INTERNAL
HTTP 400: FAILED_PRECONDITION
Kullanıcı, bir sınıra ulaştığı veya CourseNotModifiable
gibi bir uygulama durumunda olduğu için izin verilemeyen bir işlem yapmaya çalıştığında FAILED_PRECONDITION
döndürülür. FAILED_PRECONDITION
hatasını düzeltmek için kullanıcıdan bazı işlemleri yapmasını ve ardından tekrar denemesini isteyin. Bazı durumlarda, kullanıcı adına durumu düzeltmek için alternatif uç noktalar da kullanabilirsiniz.
AttachmentNotVisible
AttachmentNotVisible
, belirtilen bir veya daha fazla eki kullanıcının göremediğini, istenen türde olmadığını ya da mevcut olmadığını gösterir. Örneğin, kullanıcıyla paylaşılmayan Drive öğeleri bu hatayı döndürür.
Olası işlem: Hatanın nedenini açıklayın ve kullanıcının eklediği tanımlayıcıları (ör. Drive dosya kimlikleri) yeniden kontrol etmesini önerin. Ayrıca, kullanıcının eki görüntülemek için gerekli izinlere sahip olduğundan emin olun.
CannotRemoveCourseFolderOwner
CannotRemoveCourseFolderOwner
, kurs Drive klasörünün sahibinin kaldırılamayacağını gösterir.
Olası işlem: Başarısızlığın nedenini açıklayın ve kullanıcının kurs Drive klasörünün sahipliğini farklı bir kullanıcıya aktarmasını ve tekrar denemesini önerin.
CannotRemoveCourseOwner
CannotRemoveCourseOwner
, kurs sahibinin kaldırılamayacağını gösterir.
Olası işlem: Başarısızlığın nedenini açıklayın ve kurs sahibinin kaldırılamayacağını önerin. Çoğu durumda, kullanıcı kendisini kaldırmaya çalışır ve buna izin verilmez.
CannotRemoveCourseOwnerTransferIncomplete
CannotRemoveCourseOwnerTransferIncomplete
, bu sınıfın sahiplik aktarımı devam ettiğinden kurs sahibinin kaldırılamayacağını gösterir.
Olası işlem: Hatanın nedenini açıklayın ve kullanıcıya sınıfın sahipliğini aktarma işleminin tamamlanması için birkaç dakika beklemesini, ardından tekrar denemesini önerin.
CannotRemoveTeacherWithNoCourseOwner
CannotRemoveTeacherWithNoCourseOwner
, sahibi olmayan bir kurstan öğretmenin kaldırılamayacağını gösterir.
Olası işlem: Başarısızlığın nedenini açıklayın ve öğretmenin kaldırılamayacağını önerin. Çoğu durumda, kurs sahibinin kullanıcı hesabı silinmiş ve geçersiz bir kurs durumu oluşmuştur.
CourseMemberLimitReached
CourseMemberLimitReached
, denenen işlemin izin verilen maksimum kurs üyesi sayısını aşacağını gösterir. Bu kod genellikle students.create()
tarafından döndürülür. Daha fazla bilgi için Sınıfa öğrenci davet etme başlıklı Yardım Merkezi makalesinin "Sınıf boyutu sınırları" bölümüne bakın.
Olası işlem: Hatanın nedenini açıklayın ve kullanıcının gereksiz kurs üyelerini kaldırmasını önerin
CourseNotModifiable
CourseNotModifiable
, ilgili dersin özelliklerinin değiştirilmesine izin verilmeyen bir durumda olduğunu (ders durumu dışında) gösterir.
Olası işlem: Kullanıcıdan dersi değiştirilebilir bir ders durumuna geçirmesini isteyin. Durumu değiştirmek için courses.patch()
simgesini kullanın.
Ders durumu, diğer özellikleri değiştiren bir istekte değiştirilebilir.
CourseTeacherLimitReached
CourseTeacherLimitReached
, istenen işlemin izin verilen maksimum kurs öğretmeni sayısını aşacağını gösterir. Bu kod genellikle teachers.create()
tarafından döndürülür.
Daha fazla bilgi için Sınıfa yardımcı öğretmen ekleme başlıklı Yardım Merkezi makalesinin "Sınıf boyutu sınırlamaları" bölümüne bakın.
Olası işlem: Hatanın nedenini açıklayın ve kullanıcının gereksiz kurs öğretmenlerini kaldırmasını önerin. Uygulamanız için geçerliyse kullanıcı adına öğretmen listelerini yönetmek için teachers.delete() işlevini kullanabilirsiniz.
InactiveCourseOwner
InactiveCourseOwner
, istenen işleme izin verilmediğini gösterir. Bunun nedeni, kurs sahibinin hesabının silinmiş olmasıdır. İstenilen işlemi gerçekleştirmeden önce kurs sahibinin yöneticisinin kurs sahibinin hesabını geri yüklemesi gerekir.
Olası işlem: Yanıtın nedenini açıklayın ve yöneticinin işlemi yeniden denemeden önce kurs sahibinin hesabını geri yüklemesini önerin.
IneligibleOwner
IneligibleOwner
, kullanıcının yardımcı öğretmen olmadığı için kursun sahibi olarak eklenemediğini gösterir.
Olası işlem: Başarısızlığın nedenini açıklayın. İstekte bulunan kullanıcı yönetici değilse sahibi güncellemeden önce kullanıcıya kursta öğretmen olarak davetiye göndermesini önerin. İstekte bulunan kullanıcı yöneticiyse kullanıcıyı önce dersin yardımcı öğretmeni olarak eklemesini önerin.
PendingInvitationExists
PendingInvitationExists
, dersin sahipliğini almaya davet edilmiş bir kullanıcı olduğunu gösterir. Bu hata, daha önce başlatılmış ancak yeni sahip tarafından henüz kabul edilmemiş bir kurs sahipliği aktarımı sırasında ortaya çıkar.
UserCannotOwnCourse
UserCannotOwnCourse
, kullanıcının kursun sahibi olarak eklenemeyeceğini gösterir.
Olası işlem: Hatanın nedenini açıklayın ve dersin, kullanıcının ders sahibi olarak oluşturulamayacağını önerin. Yönetici olmayan bir istek sahibi kullanıcı, sahibi olarak kendisi dışında bir kullanıcıyla kurs oluşturmaya çalışırsa bu hatayı görebilir. Sahip olarak belirtilen kullanıcı hesabı mevcut değilse veya kullanıcı kendi alanında değilse kullanıcı isteğinde bulunan yönetici bu hatayı görebilir.
UserGroupsMembershipLimitReached
UserGroupsMembershipLimitReached
, kullanıcının izin verilen maksimum grup sayısına ulaştığını ve hiçbir kursa katılamayacağını gösterir. Bu kod genellikle students.create()
veya teachers.create()
tarafından döndürülür.
Daha fazla bilgi için Sınıfa öğrenci davet etme başlıklı Yardım Merkezi makalesinin "Sınıf boyutu sınırlamaları" bölümüne bakın.
Olası işlem:
Hatanın nedenini açıklayın ve kullanıcının katılmadığı kurslardan ayrılmasını önerin. Kullanıcı, daha fazla kursa katılması gerekiyorsa ek bir hesap oluşturabilir. Uygulamanız için geçerliyse kullanıcı adına listeleri yönetmek üzere students.create()
veya teachers.delete()
iznini kullanabilirsiniz.
HTTP 403: PERMISSION_DENIED
Son kullanıcı erişim ön koşullarını karşılamıyorsa tüm Classroom API yöntemleri PERMISSION_DENIED
(HTTP 403) hatası döndürebilir. Hatanın nedenini belirlemenize ve kullanıcıları uygun işlemi yapmaya yönlendirmenize yardımcı olmak için hatayla birlikte bir hata mesajı gösterilir.
Aşağıdaki bölümlerde, Classroom API'de sık karşılaşılan hata mesajları açıklanmaktadır.
CannotDirectAddUser
CannotDirectAddUser
, kullanıcının doğrudan kursa eklenemediğini gösterir. Bu kod, bir alan yöneticisi bir kullanıcıyı kursa eklemeye çalıştığında ve söz konusu kullanıcının e-posta adresi olmadığında veya alana ait olmadığında gösterilir.
Olası işlem: Hatanın nedenini açıklayın ve alan yöneticisinin kullanıcı hesabının var olup olmadığını ve kurs yöneticisinin alanında olup olmadığını kontrol etmesini önerin.
ClassroomApiDisabled
ClassroomApiDisabled
, istek gönderen kullanıcının Classroom API'ye erişimi olmadığını gösterir.
Olası işlem: Kullanıcıyı Classroom veri erişimini etkinleştirme talimatlarına yönlendirin. Kullanıcı yanlış hesabı kullanıyor olabileceğinden ClassroomDisabled değerine de bakın.
ClassroomDisabled
ClassroomDisabled
, istek gönderen kullanıcının Classroom'a erişimi olmadığını gösterir.
Olası işlem: Kullanıcıyı Classroom erişimini etkinleştirme talimatlarına yönlendirin. Kullanıcı yanlış hesabı da kullanıyor olabilir. Bu nedenle, kullanıcının doğru hesabı seçebilmesi için birden fazla hesap kullanma ile ilgili bir bağlantı da sağlayabilirsiniz.
ExpiredAddOnToken
ExpiredAddOnToken
, API'ye çağrı yapmak için kullanılan eklenti jetonunun süresinin dolduğunu gösterir.
Olası işlem: İstekte bulunan URL'den yeni addOnToken
sorgu parametresini alabilmeniz için kullanıcıdan sayfayı yenilemesini veya eklentide tekrar oturum açmasını isteyin.
InvalidAddOnToken
InvalidAddOnToken
, bir istekte iletilen eklenti jetonunun ödevde eklenti eki oluşturma yetkisine sahip olmadığını gösterir.
Olası işlem: Kullanıcı, Classroom'daki hesaptan farklı bir hesapla eklentide oturum açarsa bu hata oluşabilir. Kullanıcıdan tarayıcıdaki diğer tüm hesapların oturumunu kapatmasını veya Classroom'u gizli bir Chrome penceresinde açmasını isteyin.
ProjectPermissionDenied
ProjectPermissionDenied
, isteğin farklı bir Geliştirici Konsolu projesiyle ilişkili bir kaynağı değiştirmeye çalıştığını gösterir.
Olası işlem: Uygulamanızın istenen isteği gönderemediğini belirtin. Yalnızca kaynağı oluşturan OAuth istemci kimliğinin Developer Console projesi tarafından yapılabilir.
UserIneligibleToUpdateGradingPeriodSettings
UserIneligibleToUpdateGradingPeriodSettings
, istekte bulunan kullanıcının veya ders sahibinin uygun Google Workspace for Education lisansına sahip olmadığı bir kurstaki notlandırma dönemi ayarlarının değiştirilmeye çalışıldığını gösterir.
Olası İşlem: İstemin sahibi olan kullanıcının veya dersin sahibinin lisans durumu nedeniyle, uygulamanızın notlandırma dönemi ayarlarını güncelleme isteğinde bulunamadığını belirtin. Lisanslar Google Yönetici Konsolu'nda atanabilir.
HTTP 429: RESOURCE_EXHAUSTED
Kota veya sunucu kapasitesi gibi bazı kaynaklar tükendiği için istenen işleme izin verilmediğinde RESOURCE_EXHAUSTED
döndürülür. Bu tür istek hataları genellikle uygulamanızın aşırı yük oluşturduğundan kaynaklanır.
Bu sınırları tetiklememek ve uygulamanızın güvenilirliğini artırmak için yeniden deneme mekanizmalarını kullanın. Geçerli yeniden deneme mekanizmaları şunlardır:
İsteği yeniden denemek ve eşzamanlı ortamlarda isteklerin veri hızını en üst düzeye çıkarmak için kısaltılmış eksponansiyel geri yükleme kullanın.
Çakışmaları önlemek için jitter ile kesikli eksponansiyel geri yükleme kullanabilirsiniz. Jitter eklemek, isteklerdeki ani artışları dağıtan rastgele bir gecikme ekleyerek isteklerinizin daha hızlı başarılı olmasına yardımcı olabilir.
Uygulamanız, kota sınırlamaları nedeniyle RESOURCE_EXHAUSTED
hataları döndürüyorsa kota artırma isteği gönderin. Daha fazla bilgi için Monitor API kotaları yardım merkezi makalesine göz atın.
UserCourseJoinRateLimitReached
UserCourseJoinRateLimitReached
, kullanıcının bir günde izin verilen maksimum sayıda derse katıldığını gösterir. Daha fazla bilgi için Gruplar politikalarını ve sınırlamalarını anlama başlıklı Yardım Merkezi makalesinin "Grup davetleri ve boyutu" bölümüne bakın.
Olası işlem: Hatanın nedenini açıklayın ve kullanıcının kursa katılmadan önce bir gün beklemesini önerin.
HTTP 500: INTERNAL
INTERNAL
, istek işlenirken beklenmeyen bir hata oluştuğunu gösterir. INTERNAL
istek hataları, isteği yeniden denemek için üstel geri yükleme kullanılarak da genellikle çözülebilir. Devam eden INTERNAL
hataları, Classroom API'nin herkese açık sorun izleyicisinde hata kaydı oluşturarak bildirilebilir.