如何在 React Native fetch 中使用授权标头来使用 Yelp API 发出 get 请求

问题描述 投票:0回答:1

我正在尝试在react-native中使用FETCH发出post请求。我收到验证错误。我在这里缺少什么?

    _fetchYelp(){

          let data = {
              method: 'POST',
              body: JSON.stringify({
                  'client_id': 'id',
                  'client_secret': 'secret',
                  'grant_type': 'client_credentials'
              }),
             headers: {
                  'Accept':       'application/json',
                  'Content-Type': 'application/x-www-form-urlencoded'
                     }
            }
         return fetch('https://api.yelp.com/oauth2/token', data)
                .then(response => response.json());

         }


      Error 

      status   400
      timeout  0 
      response {"error":{"code":"VALIDATION_ERROR",
                "description":"client_id or client_secret parameters          not found. Make sure to provide client_id and client_secret in the body with the application/x-www-form-urlencoded content-type"}}
      response_url https://api.yelp.com/oauth2/token

谢谢你。

javascript react-native fetch-api yelp
1个回答
1
投票
getAccessToken() {

    let formData  = new FormData();
    formData.append('grant_type', 'client_credentials')
    formData.append('client_id', 'yourID')
    formData.append('client_secret', 'yourSecret')
    let headers = new Headers();

    return fetch('https://yourBaseUrl/oauth2/token/', {
        method: 'POST',
        headers: headers,
        body: formData,
    })
    .then((response) => response.json())      
}
© www.soinside.com 2019 - 2024. All rights reserved.