Sık karşılaşılan Google Classroom API hata mesajları

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

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.