Reactjs 如何将Axios标头设置为实例(非全局)

Reactjs 如何将Axios标头设置为实例(非全局),reactjs,google-api,axios,request-headers,Reactjs,Google Api,Axios,Request Headers,我正试图通过axios向Google Books Api发送get请求。 如果未设置授权标头,则此选项有效。 然而,在我登录到我的应用程序并将授权头设置为令牌后,Google Api会以以下方式响应 errors:[{domain: "global", reason: "authError", message: "Invalid Credentials", locationType: "header",…}] message:"Invalid Credentials" 对不起,我还是一个编程新

我正试图通过axios向Google Books Api发送get请求。 如果未设置授权标头,则此选项有效。 然而,在我登录到我的应用程序并将授权头设置为令牌后,Google Api会以以下方式响应

errors:[{domain: "global", reason: "authError", message: "Invalid Credentials", locationType: "header",…}]
message:"Invalid Credentials"
对不起,我还是一个编程新手,我只是想知道绕过这个错误的最好方法。我尝试将授权标头设置为它自己的实例,而不是全局设置,但在我的React应用程序的操作调用中找不到这样做的方法


请提前帮助和感谢

要在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);
          });

要在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);
          });
你可以这样试试

//设置标题

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);
  });
你可以这样试试

//设置标题

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);
  });

谢谢你们的帮助!因为我在客户端设置jwt的方式,它们对我不起作用

下面的代码最终为我工作,因为我只需要覆盖全局授权标头

import axios from 'axios';
const axiosInstance = axios.create({
  baseURL: url
});

axiosInstance.defaults.headers.common = '';

export default axiosInstance;

谢谢你们的帮助!因为我在客户端设置jwt的方式,它们对我不起作用

下面的代码最终为我工作,因为我只需要覆盖全局授权标头

import axios from 'axios';
const axiosInstance = axios.create({
  baseURL: url
});

axiosInstance.defaults.headers.common = '';

export default axiosInstance;