Как использовать несколько заголовков Axios - PullRequest
0 голосов
/ 19 сентября 2019

Я развёртываю приложение на собственном языке.В этом проекте используется FatSecret REST API.Этот API-интерфейс использует аутентификацию с OAuth 2.0.Прежде всего, я получаю токен доступа.Я попытался получить данные с помощью токена и получил ошибку.Отправка сообщения дает мне код состояния 200, но я не понимаю.

    let form = new FormData();

    var headers = new Headers();
    headers.append("content-type", "application/json"),
      headers.append(
        "Authorization",
        "Basic " +
          base64.encode(
            <clientID>:<clientSecret>,
          ),
      ),
      form.append("grant_type", "client_credentials");
    form.append("scope", "basic");

    fetch("https://oauth.fatsecret.com/connect/token", {
      method: "POST",
      headers: headers,
      body: form,
    })
      .then(res => res.json())
      .then(json =>{this.calc(json.access_token)})


  };

//------------------------------------------------------
//success (get Access token)
//--------------------------------------------------------

  calc =(token)=>{  
    console.log(token)

    var headers2 = new Headers();
    headers2.append("Content-Type", "application/json");
    headers2.append(
      "Authorization",
      "Bearer "+token),

    fetch("https://platform.fatsecret.com/rest/server.api",{
      method :"POST",
      headers:headers2,
      body:"method=foods.search&search_expression=toast&format=xml"
    }).then(res=>console.log(res));
}

Response {type: "default", status: 200, ok: true, statusText: undefined, headers: Headers, …}
headers: Headers {map: {…}}
ok: true
status: 200
statusText: undefined
type: "default"
url: "https://platform.fatsecret.com/rest/server.api"
_bodyBlob: Blob {_data: {…}}
_bodyInit: Blob {_data: {…}}
__proto__: Object

1 Ответ

0 голосов
/ 19 сентября 2019

Вы можете использовать приведенный ниже код для нескольких заголовков с axios:

const instance = axios.create();
      instance.defaults.headers.common['Accesstoken'] = 'Bearer '+token;

      const response = await instance.post(<api url>, {
        id: orderId
      });
...