Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece instruções gerais e sugestões para lidar com erros que são devolvidos pelas APIs do Excel no Microsoft Graph quando um pedido enviado através da API falha.
Tipos de respostas de erro
As APIs do Excel no Microsoft Graph devolvem dois tipos de erros. Uma delas é a resposta de erro regular, que se assemelha ao seguinte.
HTTP/1.1 <HTTP status code>
Content-type: application/json
Retry-After: <Cooldown duration in seconds> (optional)
{
"error": <Error object>
}
O segundo é do padrão de operação de execução prolongada, que pode devolver um 200 OK código http status e failed uma operação status no corpo da resposta, como no exemplo seguinte.
HTTP/1.1 200 OK
Content-type: application/json
{
"status": "failed",
"error": <Error object>
}
Para ambas estas respostas de erro, o objeto de erro tem a seguinte estrutura.
Observação
Respostas de erro seguem a definição na especificação OData v4 para respostas de erro.
{
"code": "string",
"message": "string",
"innerError": { "@odata.type": "odata.error" }
}
O objeto innerError pode conter recursivamente objetos innerError com códigos de erro adicionais e mais específicos. Por exemplo, o objeto de erro pode conter informações de erro mais detalhadas no código de erro de segundo nível e na mensagem, conforme mostrado.
{
"code": "Top-level error code",
"message": "Top-level error message",
"innerError": {
"code": "Second-level error code",
"message": "Second-level error message",
"innerError": { "@odata.type": "odata.error" }
}
}
Passos para processar respostas de erros
Espera-se que os clientes do Microsoft Graph utilizem os seguintes passos para lidar com erros que ocorrem com as APIs do Excel.
1. Determinar se é um erro de operação de execução prolongada
Antes de processar um erro, o primeiro passo é determinar se a resposta do erro provém de um padrão de operação de execução prolongada ou de um padrão regular. Um erro de operação de execução prolongada devolverá um 200 OK código http status e failed uma operação status no corpo da resposta. Uma resposta de erro regular devolverá um erro HTTP correspondente status código.
2. Analisar código de erro de segundo nível
Tanto para o padrão de operação de execução prolongada como para o padrão regular, o cliente deve primeiro analisar os códigos de erro de segundo nível necessários e processá-los de acordo com as instruções. Opcionalmente, o cliente também pode processar outros códigos de erro de segundo nível ou optar por reverter para códigos de erro de nível superior ou códigos de status.
Os códigos de erro não são sensíveis a maiúsculas e minúsculas.
Códigos de erro de segundo nível necessários
A tabela seguinte lista as instruções para os códigos de erro de segundo nível necessários que os clientes do Microsoft Graph devem processar. O serviço pode adicionar novos códigos de erro em qualquer altura.
| Código | Instruções |
|---|---|
accessConflict |
O pedido falhado entra em conflito com outros clientes que acedem ao livro (por exemplo, outro cliente bloqueou o livro para edição). Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado até que o conflito seja resolvido. Um utilizador final pode optar por realizar manualmente as mesmas operações com o Excel Online para obter mais detalhes sobre o conflito. |
badRequestUncategorized |
Foi encontrado um erro não especificado no pedido falhado. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
conflictUncategorized |
O pedido falhado entra em conflito com determinado estado do servidor. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado até que o conflito seja resolvido. Um utilizador final pode optar por realizar manualmente as mesmas operações com o Excel Online para obter mais detalhes sobre o conflito. |
forbiddenUncategorized |
O pedido falhado não é permitido. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. Um utilizador final pode optar por realizar manualmente as mesmas operações com o Excel Online para obter mais detalhes sobre as restrições. |
gatewayTimeoutUncategorized |
O serviço não conseguiu concluir o pedido dentro do limite de tempo. |
internalServerErrorUncategorized |
Ocorreu um erro não especificado. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. Se for especificada uma sessão no pedido com falha, também não é esperado acesso adicional à sessão. |
invalidSessionAccessConflict |
A sessão especificada no pedido é inválida devido a conflitos com outros clientes que estão a aceder ao livro (por exemplo, outro cliente bloqueou o livro para edição). Não é esperado acesso adicional à sessão especificada no pedido falhado. A recriação de sessões com o mesmo pedido createSession não é esperada até que o conflito seja resolvido. Recriar sessões com um pedido createSession diferente pode ou não ter êxito. Um utilizador final pode optar por realizar manualmente as mesmas operações com o Excel Online para obter mais detalhes sobre o conflito. |
invalidSessionAuthentication |
A sessão especificada no pedido é inválida devido a um erro de autenticação. Não é esperado acesso adicional à sessão especificada no pedido falhado. A recriação de sessões com o mesmo pedido createSession não é esperada até que sejam fornecidas as informações de autenticação adequadas. |
invalidSessionNotFound |
A sessão especificada no pedido é inválida porque não é possível localizar o livro. Não é esperado acesso adicional à sessão especificada no pedido falhado. Não é esperado recriar sessões com o mesmo pedido createSession . |
invalidSessionReCreatable |
A sessão especificada no pedido não existe ou é inválida devido a um erro transitório. O cliente do Microsoft Graph pode tentar recriar uma sessão e retomar o trabalho. Não é esperado acesso adicional à sessão especificada no pedido falhado. |
invalidSessionRestricted |
A sessão especificada no pedido é inválida devido a restrições ou configurações de serviço. Não é esperado acesso adicional à sessão especificada no pedido falhado. Recriar sessões com o mesmo pedido createSession não é esperado até que as restrições ou configurações bloqueiem as alterações do pedido. Recriar sessões com um pedido createSession diferente pode ou não ter êxito. Um utilizador final pode optar por realizar manualmente as mesmas operações com o Excel Online para obter mais detalhes sobre as restrições. |
invalidSessionUnexpected |
A sessão especificada no pedido é inválida devido a um problema inesperado. Não é esperado acesso adicional à sessão especificada no pedido falhado. Não é esperado recriar sessões com o mesmo pedido createSession . Recriar sessões com um pedido createSession diferente pode ou não ter êxito. |
invalidSessionUnsupportedWorkbook |
A sessão especificada no pedido é inválida porque o livro contém funcionalidades não suportadas ou excede o limite de tamanho. Normalmente, os fatores não suportados são introduzidos por outro cliente que acede ao livro. Não é esperado acesso adicional à sessão especificada no pedido falhado. A recriação de sessões com o mesmo pedido createSession não é esperada até que os fatores não suportados sejam removidos. Recriar sessões com um pedido createSession diferente pode ou não ter êxito. Um utilizador final pode optar por realizar manualmente as mesmas operações com o Excel Online para obter mais detalhes sobre os fatores não suportados ou com o Excel Desktop onde o livro pode ser suportado. |
methodNotAllowedUncategorized |
O método HTTP especificado no pedido não é permitido no recurso. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
notFoundUncategorized |
Não é possível localizar o recurso pedido. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
notImplementedUncategorized |
A funcionalidade pedida não está atualmente implementada. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
payloadTooLargeUncategorized |
O payload do pedido excede o limite de tamanho. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
serviceUnavailableUncategorized |
O serviço está temporariamente indisponível ou está sobrecarregado. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado até que a duração de arrefecimento especificada passe. |
tooManyRequestsUncategorized |
O pedido falhado excede determinada limitação de frequência. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado até que a duração de arrefecimento especificada passe. Para obter as melhores práticas para reduzir a limitação, veja Reduzir erros de limitação. |
transientFailure |
O pedido falhou devido a um erro transitório. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado até que a duração de arrefecimento especificada passe. |
unauthorizedUncategorized |
As informações de autenticação necessárias para o recurso estão em falta ou são inválidas. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
unsupportedWorkbook |
O pedido falhou. O livro contém funcionalidades não suportadas ou excede o limite de tamanho. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado até que os fatores não suportados sejam removidos. |
Observação
Para o padrão normal, o pedido com falha é definido como o pedido que corresponde à resposta. Para o padrão de operação de execução prolongada, o pedido falhado é aquele que aciona a operação falhada.
Exemplos opcionais de código de erro de segundo nível
A tabela seguinte lista exemplos de códigos de erro opcionais de segundo nível, incluindo as instruções de processamento correspondentes para cada código de erro. O serviço pode adicionar novos códigos de erro em qualquer altura.
| Código | Instruções |
|---|---|
accessDenied |
Não é possível efetuar a operação pedida (por exemplo, efetuar alterações a células bloqueadas). Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
filteredRangeConflict |
A operação falhou porque está em conflito com um intervalo filtrado. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
generalException |
Ocorreu um erro interno ao processar o pedido. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
insertDeleteConflict |
A tentativa de operação de exclusão ou inserção resultou em um conflito. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. Um utilizador final pode optar por realizar manualmente as mesmas operações com o Excel Online para obter mais detalhes sobre o conflito. |
invalidArgument |
O argumento é inválido, está em falta ou tem um formato incorreto. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
invalidReference |
Esta referência não é válida para a operação atual. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
itemAlreadyExists |
O recurso que está sendo criado já existe. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
itemNotFound |
O recurso solicitado não existe. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
methodNotAllowed |
O método HTTP especificado no pedido não é permitido no recurso. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
nonBlankCellOffSheet |
Não é possível inserir novas células porque iria empurrar células não vazias para fora do final da folha de cálculo. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. Um utilizador final pode eliminar linhas ou colunas para libertar espaço para o conteúdo ser inserido e, em seguida, tentar novamente. |
rangeExceedsLimit |
A contagem de células no intervalo excedeu o número máximo suportado. O cliente do Microsoft Graph pode tentar enviar um pedido com um tamanho de intervalo mais pequeno. Para obter mais informações, veja Limites de recursos e otimização de desempenho para Suplementos do Office. |
requestAborted |
O pedido foi abortado durante o tempo de execução, o que normalmente foi causado por cálculos de longa duração das funções no livro. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
unsupportedOperation |
Não há suporte para a operação que está sendo tentada. Não é esperado que o cliente do Microsoft Graph reenvie o pedido falhado. |
Observação
Para o padrão normal, o pedido com falha é definido como o pedido que corresponde à resposta. Para o padrão de operação de execução prolongada, o pedido falhado é aquele que aciona a operação falhada.
3. Analisar o código de erro de nível superior
Se não encontrar nenhum código de erro de segundo nível conhecido, deve seguir as instruções fornecidas para erros de nível superior. Os códigos de erro de nível superior estão vinculados ao código de status e pode tomar medidas de acordo com os códigos de status correspondentes. Para obter detalhes sobre códigos de erro e mensagens de nível superior, veja Códigos de erro e mensagens.
4. Analisar o código de status
Para o padrão normal, se não conseguir encontrar nenhum código de erro de segundo nível conhecido ou código de erro de nível superior, deve tomar medidas de acordo com o código de status HTTP.
5. Erro de recuperação de cooldown
Para algumas das respostas no padrão normal, pode ser fornecida uma duração de arrefecimento da recuperação em segundos através de um Retry-After cabeçalho. Quando está presente uma duração de arrefecimento de recuperação, não é esperado que o cliente do Microsoft Graph envie pedidos de seguimento antes da duração especificada passar. Para obter as melhores práticas relacionadas com o Retry-After cabeçalho e a limitação, veja Reduzir erros de limitação.
Informações de diagnóstico
Todos os conteúdos na resposta que não são utilizados nos passos anteriores destinam-se apenas a diagnóstico finalidade (incluindo cadeias nos campos da mensagem). Não recomendamos que assuma uma dependência destes conteúdos, uma vez que estes podem ser alterados sem aviso prévio.
Processamento de casos especiais
Para pedidos com sessão, se encontrar um 502/badGateway erro ou 503/serviceUnavailable , quando for encontrado um código de erro de segundo nível conhecido, siga as instruções correspondentes; caso contrário, deve recriar a sessão diretamente.