Ir para conteúdo
  • 0

API ERRO "ACESSO AO RECURSO PROIBIDO"


FrancoAndre
Ir para solução Solucionado por Sandro Vieira ,

Pergunta

  • Alunos

Olá à todos!

Estou tentando conectar a uma API da Cobli, porém está retornando sempre o erro Expression.Error: O acesso ao recurso é proibido. Contudo, quando faço o teste no postman consigo ter retorno 200 OK, mas com um detalhe: os dados vem criptografados. Pensando nisso, no final do código do power query, adicionei o Binary.Decompress (sugestão chatGPT) tentando corrigir o erro, mas não resolveu.

Revisei todos os parâmetros e estão todos corretos.

Alguém já possou por situação semelhante que possa ajudar?

Código no power query:

let
    source = 
    Web.Contents(
        "https://api.cobli.co/herbie-1.1/stats/reports/out-of-work/driver",
        [
            // RelativePath = "",
            Headers  = [
                accept = "application/vnd.ms-excel",
                #"cobli-api-key" = api_key,
                #"content-type" = "application/json"
            ],
            Query = [
                begin = "1705276800",
                end = "1705363200",
                tz = "America/Sao_Paulo",
                work_journey_start = "32400000",
                work_journey_end = "86399000"
            ]
        ]
    ),
    descriptografando = Binary.Decompress(source, Compression.Deflate)
in
    descriptografando

 

Retorno da página no postman:

image.png.82cc5fd0fea612fd77746af4f87feb29.png

 

Parâmetros solicitados pela api:

image.png.8c9019bafc40f9f450a5843bdffa4eb9.png

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

@FrancoAndre, dei uma pesquisada no Bard do google, e me retornou desta forma veja se te ajuda:

 

O erro "Expression.Error: O acesso ao recurso é proibido" pode ocorrer quando as credenciais de API não estão corretas ou quando as permissões do usuário não são suficientes para acessar o recurso.

No seu caso, você disse que revisou todas as credenciais e permissões e que elas estão corretas. Nesse caso, é possível que a API da Cobli esteja configurada para criptografar os dados por padrão. Nesse caso, o Binary.Decompress não será capaz de descriptografar os dados.

Para resolver esse problema, você pode tentar as seguintes etapas:

1. Verifique se a API da Cobli está configurada para criptografar os dados por padrão. Você pode verificar isso na documentação da API da Cobli.
2. Se a API da Cobli estiver configurada para criptografar os dados por padrão, você precisará usar um método de descriptografia diferente. Você pode usar o método de descriptografia fornecido pela API da Cobli ou você pode usar um método de descriptografia de terceiros.

Aqui está um exemplo de como você pode usar o método de descriptografia fornecido pela API da Cobli:

```
let
    source = 
    Web.Contents(
        "https://api.cobli.co/herbie-1.1/stats/reports/out-of-work/driver",
        [
            // RelativePath = "",
            Headers  = [
                accept = "application/vnd.ms-excel",
                #"cobli-api-key" = api_key,
                #"content-type" = "application/json"
            ],
            Query = [
                begin = "1705276800",
                end = "1705363200",
                tz = "America/Sao_Paulo",
                work_journey_start = "32400000",
                work_journey_end = "86399000"
            ]
        ]
    ),
    descriptografando = Web.Contents(
        "https://api.cobli.co/herbie-1.1/stats/reports/out-of-work/driver/decrypt",
        [
            Headers  = [
                accept = "application/vnd.ms-excel",
                #"cobli-api-key" = api_key,
                #"content-type" = "application/json"
            ],
            Body = source
        ]
    ),
    dados = Binary.Decompress(descriptografando, Compression.Deflate)
in
    dados
```

Esse código irá primeiro chamar a API da Cobli para obter os dados criptografados. Em seguida, ele irá chamar a API da Cobli novamente para descriptografar os dados. Por fim, ele irá usar o Binary.Decompress para decomprimir os dados descriptografados.

Se você não quiser usar o método de descriptografia fornecido pela API da Cobli, você pode usar um método de descriptografia de terceiros. Existem muitos métodos de descriptografia disponíveis, como o OpenSSL ou o GnuPG.

Espero que isso ajude!

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...