Erros de solicitação
Um erro da API Classroom pode conter um código que ajuda a identificar a causa e resolver o problema corretamente. Dependendo do código, você pode repetir a solicitação ou direcionar os usuários a executarem determinada ação.
Nesta página, detalhamos os possíveis códigos de erro agrupados por código HTTP. Para ler mais sobre a estrutura da mensagem de erro, consulte Estrutura da mensagem de erro.
Nesta página, detalhamos os possíveis códigos de erro agrupados por código HTTP. Consulte a documentação de referência para determinar quais métodos retornam códigos de erro específicos.
HTTP 400: FAILED_PRECONDITION
.
Uma FAILED_PRECONDITION
é retornada quando o usuário tenta uma ação que não é permitida, seja porque ele atingiu um limite ou um estado de aplicativo, como CourseNotModifiable
. Para corrigir um FAILED_PRECONDITION
, instrua o usuário a realizar alguma ação e tente novamente. Em alguns casos, também é possível usar endpoints alternativos para corrigir o estado em nome do usuário.
PendingInvitationExists
PendingInvitationExists
indica que alguém já foi convidado a ser proprietário do curso. Esse erro ocorre durante a transferência de propriedade do curso quando uma transferência foi iniciada anteriormente, mas ainda não foi aceita pelo novo proprietário.
CourseMemberLimitReached
CourseMemberLimitReached
indica que a ação excederia o número máximo permitido de participantes do curso. Esse código geralmente é retornado pelo students.create()
. Para mais informações, consulte a seção "Limites de tamanho da turma" do artigo Convidar estudantes para uma turma da Central de Ajuda.
Possível ação: descreva a causa da falha e sugira que o usuário remova os participantes desnecessários do curso
CourseNotModifiable
CourseNotModifiable
indica que o curso relevante está em um estado que não permite que as propriedades sejam modificadas (além do estado do curso em si).
Possível ação: solicite que o usuário altere o curso para um estado modificável. Para mudar o estado, use courses.patch()
. O estado do curso pode ser alterado em uma solicitação que altera outras propriedades.
CourseTeacherLimitReached
CourseTeacherLimitReached
indica que a ação solicitada excederia o número máximo permitido de professores do curso. Esse código normalmente é retornado pelo teachers.create()
. Para mais informações, consulte a seção "Limitações de tamanho da turma" do artigo Adicionar um professor auxiliar a uma turma da Central de Ajuda.
Possível ação: descreva a causa da falha e sugira que o usuário remova os professores desnecessários do curso. Se aplicável ao seu app, você pode usar teachers.delete() para gerenciar as listas de estudantes em nome do usuário.
UserGroupsMembershipLimitReached
UserGroupsMembershipLimitReached
indica que o usuário já participa do número máximo permitido de grupos e não pode participar de nenhum curso. Esse código normalmente é retornado por students.create()
ou teachers.create()
. Para mais informações, consulte a seção "Limites de tamanho da turma" do artigo Convidar alunos para uma turma da Central de Ajuda.
Possível ação: descreva a causa da falha e sugira que o usuário saia dos cursos de que não participa. Ele pode criar outra conta se precisar participar de mais cursos. Se aplicável ao seu app, você pode usar o students.create()
ou o teachers.delete()
para gerenciar as listas de estudantes em nome do usuário.
AttachmentNotVisible
AttachmentNotVisible
indica que um ou mais anexos especificados não estão visíveis para o usuário, não são do tipo solicitado ou não existem. Por exemplo, itens do Drive que não foram compartilhados com o usuário retornam esse erro.
Possível ação: descreva a causa da falha e sugira que o usuário verifique novamente os identificadores, como os IDs dos arquivos do Drive, incluídos. Além disso, verifique se o usuário tem as permissões adequadas para visualizar o anexo.
CannotRemoveCourseFolderOwner
CannotRemoveCourseFolderOwner
indica que o proprietário da pasta do Google Drive do curso não pode ser removido.
Possível ação: descreva a causa da falha e sugira que o usuário transfira a propriedade da pasta do Google Drive do curso para outro usuário e tente novamente.
CannotRemoveCourseOwner
CannotRemoveCourseOwner
indica que o proprietário do curso não pode ser removido.
Possível ação: descreva a causa da falha e sugira que o proprietário do curso não seja removido. Na maioria dos casos, o usuário está tentando se remover, o que não é permitido.
CannotRemoveCourseOwnerTransferIncomplete
CannotRemoveCourseOwnerTransferIncomplete
indica que o proprietário do curso não pode ser removido porque a transferência de propriedade dessa turma ainda está em andamento.
Possível ação: descreva a causa da falha e sugira que o usuário aguarde alguns instantes para que a ação assíncrona de transferência de propriedade da classe seja concluída e tente novamente.
CannotRemoveTeacherWithNoCourseOwner
CannotRemoveTeacherWithNoCourseOwner
indica que um professor não pode ser removido de um curso sem proprietário.
Possível ação: descreva a causa da falha e sugira que o professor não seja removido. Na maioria dos casos, a conta de usuário do proprietário do curso foi excluída, causando um estado inválido do curso.
InactiveCourseOwner
InactiveCourseOwner
indica que a ação solicitada não é permitida porque a conta do proprietário do curso foi excluída. O administrador do proprietário do curso precisa restaurar a conta dele antes de realizar a ação solicitada.
Possível ação: descreva a causa da falha e sugira que o administrador restaure a conta do proprietário do curso antes de tentar realizar a operação novamente.
IneligibleOwner
IneligibleOwner
indica que o usuário não pode ser adicionado como proprietário do curso porque não é um professor auxiliar.
Possível ação: descreva a causa da falha. Se o usuário solicitante não for um administrador, sugira que ele primeiro envie um convite para ser professor no curso antes de atualizar o proprietário. Se o usuário solicitante for um administrador, sugira que ele primeiro adicione o usuário como professor auxiliar do curso.
UserCannotOwnCourse
UserCannotOwnCourse
indica que o usuário não pode ser adicionado como proprietário do curso.
Possível ação: descreva a causa da falha e sugira que o curso não possa ser criado com o usuário como proprietário do curso. Um usuário que não é administrador pode receber esse erro ao tentar criar um curso com outro usuário que não seja o proprietário. Um administrador que solicita um usuário pode ver esse erro se a conta de usuário especificada como proprietário não existir ou se o usuário não estiver no domínio.
HTTP 429: RESOURCE_EXHAUSTED
O valor RESOURCE_EXHAUSTED
é retornado quando a ação solicitada não é permitida porque algum recurso, como a cota ou a capacidade do servidor, foi esgotado. Esses tipos de erros de solicitação geralmente ocorrem porque seu aplicativo gerou uma carga excessiva.
Para evitar o acionamento desses limites e aumentar a confiabilidade do aplicativo, use mecanismos de repetição. Mecanismos válidos de nova tentativa incluem:
Use a espera exponencial truncada para fazer a solicitação novamente e maximizar a capacidade de solicitações em ambientes simultâneos.
Para evitar colisões, considere a espera exponencial truncada com instabilidade. A instabilidade pode aumentar o sucesso das solicitações com um atraso aleatório que espalha os picos nas solicitações.
Se o aplicativo retornar erros RESOURCE_EXHAUSTED
devido a limitações de cota, envie um aumento de cota. Para mais informações, consulte o artigo da Central de Ajuda Monitorar cotas de API.
UserCourseJoinRateLimitReached
UserCourseJoinRateLimitReached
indica que o usuário já entrou no número máximo permitido de cursos em um dia. Veja mais informações na seção "Convites e tamanho de grupos" do artigo Entender as políticas e os limites dos Grupos da Central de Ajuda.
Possível ação: descreva a causa da falha e sugira que o usuário aguarde um dia antes de participar do curso.
HTTP 500: INTERNAL
INTERNAL
indica que surgiu um erro inesperado ao processar a solicitação. Os erros de solicitação INTERNAL
geralmente também podem ser resolvidos usando a espera exponencial para repetir a solicitação. Se um erro INTERNAL
persistir, informe um bug no Issue Tracker público da API Classroom.