我尝试使用axios向Google Books Api发送获取请求。 如果未设置Authorization标头,则它可以正常工作。 但是,在我登录到我的应用并将授权标头设置为令牌后,Google Api会以。
响应errors:[{domain: "global", reason: "authError", message: "Invalid Credentials", locationType: "header",…}]
message:"Invalid Credentials"
对不起,我对编程还很陌生,我只是想知道绕过这个错误的最佳方法。我尝试将Authorization标头设置为它自己的实例,而不是全局设置,但在我的React应用程序中的动作调用中找不到办法。
请提前帮助和感谢!
答案 0 :(得分:1)
要在get请求中使用axios在标头中设置授权令牌,您可以尝试以下代码:
const AuthStr = 'Bearer '.concat(USER_TOKEN);
axios.get(URL, { headers: { Authorization: AuthStr } }).then(response => {
console.log(response.data);
})
.catch((error) => {
console.log('error: ' + error);
});
答案 1 :(得分:1)
您可以尝试这样
//设置标题
var header = {
'Content-Type': 'application/json',
'Authorization':'Bearer '.concat(USER_TOKEN)
}
axios.get(URL, header)
.then(response => {
console.log(JSON.stringify(response));
})
.catch((error) => {
console.log('error ' + error);
});
答案 2 :(得分:0)
谢谢你们的帮助!由于我在客户端设置jwt的方式,它们对我不起作用。
下面的代码最终为我工作,因为我只需要覆盖全局授权标头。
import axios from 'axios';
const axiosInstance = axios.create({
baseURL: url
});
axiosInstance.defaults.headers.common = '';
export default axiosInstance;