Request Errors

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.