Использование заголовка авторизации с Fetch в React Native

Я пытаюсь использоватьfetch в React Native для получения информации из API поиска продуктов. Я получил правильный токен доступа и сохранил его в состояние, но, похоже, не смог передать его в заголовке авторизации для запроса GET.

Вот что у меня так далеко:

var Products = React.createClass({
  getInitialState: function() {
    return {
      clientToken: false,
      loaded: false
    }
  },
  componentWillMount: function () {
    fetch(api.token.link, api.token.object)
      .then((response) => response.json())
      .then((responseData) => {
          console.log(responseData);
        this.setState({
          clientToken: responseData.access_token,
        });
      })
      .then(() => {
        this.getPosts();
      })
      .done();
  },
  getPosts: function() {
    var obj = {
      link: 'https://api.producthunt.com/v1/posts',
      object: {
        method: 'GET',
        headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/json',
          'Authorization': 'Bearer ' + this.state.clientToken,
          'Host': 'api.producthunt.com'
        }
      }
    }
    fetch(api.posts.link, obj)
      .then((response) => response.json())
      .then((responseData) => {
        console.log(responseData);
      })
      .done();
  },

Ожидание, которое я имею для моего кода, следующее:

Во-первых, я будуfetch токен доступа с данными из моего импортированного модуля APIПосле этого я установлюclientToken собственностьюthis.state равный полученный токен доступа.Тогда я побегуgetPosts который должен вернуть ответ, содержащий массив текущих сообщений от Product Hunt.

Я могу проверить, что токен доступа получен и чтоthis.state получает его как егоclientToken имущество. Я также могу проверить, чтоgetPosts выполняется

Я получаю следующую ошибку:

{"error": "unauthorized_oauth", "error_description": "Пожалуйста, предоставьте действительный токен доступа. Обратитесь к нашей документации api о том, как авторизовать запрос api. Также убедитесь, что вам требуются правильные области. Например," public public \ " "для доступа к частным конечным точкам."}

Я работал над предположением, что я как-то неправильно передаю токен доступа в заголовке авторизации, но, похоже, не могу точно понять, почему.

Ответы на вопрос(0)

Ваш ответ на вопрос