erro autenticação consumo api javascript fetch
Bom dia prezados
Fiz um teste no postman para consumir uma api e deu tudo certo
no entanto jogando para o fetch do javascript da erro de autorização 401
o código que estou usando é esse ficarei muito grato se alguem puder me dar uma luz
ar myHeaders = new Headers();
myHeaders.append("Authorization", "Basic ZXhjZWxlbmNpYXdlYi10aGlhZ286Zm1qQ3gxVTVoSGlMTEVERzBLVk82cWRKdWVTTmUxeDU=");
var raw = "";
var requestOptions = {
method: ''''GET'''',
headers: myHeaders,
mode: ''''no-cors'''',
//body: raw,
redirect: ''''follow''''
};
fetch("https://api.sienge.com.br/excelenciaweb/public/api/v1/bills/?startDate=2018-01-01&endDate=2023-12-31&limit=400&offset=200", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log(''''error'''', error));
Fiz um teste no postman para consumir uma api e deu tudo certo
no entanto jogando para o fetch do javascript da erro de autorização 401
o código que estou usando é esse ficarei muito grato se alguem puder me dar uma luz
ar myHeaders = new Headers();
myHeaders.append("Authorization", "Basic ZXhjZWxlbmNpYXdlYi10aGlhZ286Zm1qQ3gxVTVoSGlMTEVERzBLVk82cWRKdWVTTmUxeDU=");
var raw = "";
var requestOptions = {
method: ''''GET'''',
headers: myHeaders,
mode: ''''no-cors'''',
//body: raw,
redirect: ''''follow''''
};
fetch("https://api.sienge.com.br/excelenciaweb/public/api/v1/bills/?startDate=2018-01-01&endDate=2023-12-31&limit=400&offset=200", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log(''''error'''', error));
Thiago
Curtidas 0
Respostas
Diego Marinho
27/10/2023
Pode ser várias coisas, algum erro de cors, por exemplo... mas talvez seja um erro de promisse. Tenta jogar esse fetch pra dentro de uma função assíncrona e dentro da função, você coloca um await antes dele.... mais ou menos assim :
async function MinhaApi (api, op){ const chamando = fetch(api , op).then(o=> o.json()) console.log (chamando) return chamando } // Aqui você chama a função : MinhaApi ("https://api.sienge.com.br/excelenciaweb/public/api/v1/bills/?startDate=2018-01-01&endDate=2023-12-31&limit=400&offset=200", requestOptions )
GOSTEI 0
Diego Marinho
27/10/2023
Só esqueci do principal -> coloca o await antes do fetch.
E substitui o json() que eu coloquei por text(), pq pelo oq vc pôs lá em cima, vc quer um text.
E substitui o json() que eu coloquei por text(), pq pelo oq vc pôs lá em cima, vc quer um text.
const chamando = await fetch(api , op).then(o=> o.text())
GOSTEI 0
Aline Ribeiro
27/10/2023
Bom dia prezados
Fiz um teste no postman para consumir uma api e deu tudo certo
no entanto jogando para o fetch do javascript da erro de autorização 401
o código que estou usando é esse ficarei muito grato se alguem puder me dar uma luz
ar myHeaders = new Headers();
myHeaders.append("Authorization", "Basic ZXhjZWxlbmNpYXdlYi10aGlhZ286Zm1qQ3gxVTVoSGlMTEVERzBLVk82cWRKdWVTTmUxeDU=");
var raw = "";
var requestOptions = {
method: ''''GET'''',
headers: myHeaders,
mode: ''''no-cors'''',
//body: raw,
redirect: ''''follow''''
};
fetch("https://api.sienge.com.br/excelenciaweb/public/api/v1/bills/?startDate=2018-01-01&endDate=2023-12-31&limit=400&offset=200", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log(''''error'''', error));
Fiz um teste no postman para consumir uma api e deu tudo certo
no entanto jogando para o fetch do javascript da erro de autorização 401
o código que estou usando é esse ficarei muito grato se alguem puder me dar uma luz
ar myHeaders = new Headers();
myHeaders.append("Authorization", "Basic ZXhjZWxlbmNpYXdlYi10aGlhZ286Zm1qQ3gxVTVoSGlMTEVERzBLVk82cWRKdWVTTmUxeDU=");
var raw = "";
var requestOptions = {
method: ''''GET'''',
headers: myHeaders,
mode: ''''no-cors'''',
//body: raw,
redirect: ''''follow''''
};
fetch("https://api.sienge.com.br/excelenciaweb/public/api/v1/bills/?startDate=2018-01-01&endDate=2023-12-31&limit=400&offset=200", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log(''''error'''', error));
GOSTEI 0
Aline Ribeiro
27/10/2023
Opa tudo bem?
O code 401 é não autorizado, significa que esta com problema de autenticação na aplicação.
No trecho abaixo acredito que seja Bearer + token em vez de Basic. Acredito que o Basic espera um login e um password. Outra coisa é esse token expira em quanto tempo?
myHeaders.append("Authorization", "Basic ZXhjZWxlbmNpYXdlYi10aGlhZ286Zm1qQ3gxVTVoSGlMTEVERzBLVk82cWRKdWVTTmUxeDU=");
Fiz um teste usando o Bearer com esse token e deu 401 tbm então tem que ver essa questão do token e o modo de autenticação.
O code 401 é não autorizado, significa que esta com problema de autenticação na aplicação.
No trecho abaixo acredito que seja Bearer + token em vez de Basic. Acredito que o Basic espera um login e um password. Outra coisa é esse token expira em quanto tempo?
myHeaders.append("Authorization", "Basic ZXhjZWxlbmNpYXdlYi10aGlhZ286Zm1qQ3gxVTVoSGlMTEVERzBLVk82cWRKdWVTTmUxeDU=");
Fiz um teste usando o Bearer com esse token e deu 401 tbm então tem que ver essa questão do token e o modo de autenticação.
GOSTEI 0
Diego Marinho
27/10/2023
Mas de onde você tá consumindo esses dados ?
Precisa de algum login e senha ?
No postman vc passava algum login de usuário ?
Se sim. No javascript, como vc tá passando esses dados da login e senha ?
Tem algum link da documentação dessa api ?
Precisa de algum login e senha ?
No postman vc passava algum login de usuário ?
Se sim. No javascript, como vc tá passando esses dados da login e senha ?
Tem algum link da documentação dessa api ?
GOSTEI 0
Diego Marinho
27/10/2023
Olá Aline. Tinha bugado seu post, e não tinha aparecido um pedaço dele pra mim. Agora que eu vi que vc tá usando a mesma api do Tiago...
Esse primeiro post, meu, com as requisições assíncronas, pra mim funcionou.
Porém, agora fui testar, deu ruim... tá dando erro 401.
Provavelmente essa plataforma tenha algum tipo de configuração de conta que interfere na sua requisição.
Eu dei uma olhada no site, mas precisa fazer uma conta pra ter mais informação.
Mas é isso. Se você tiver uma conta lá, dá uma procurada pra vê se tem alguma configuração de conta bloqueando sua requisição.
Vai que é isso.
Boa sorte.
Esse primeiro post, meu, com as requisições assíncronas, pra mim funcionou.
Porém, agora fui testar, deu ruim... tá dando erro 401.
Provavelmente essa plataforma tenha algum tipo de configuração de conta que interfere na sua requisição.
Eu dei uma olhada no site, mas precisa fazer uma conta pra ter mais informação.
Mas é isso. Se você tiver uma conta lá, dá uma procurada pra vê se tem alguma configuração de conta bloqueando sua requisição.
Vai que é isso.
Boa sorte.
GOSTEI 0