Как отправить запрос как в терминале в ответ? - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь отправить следующий запрос в моем приложении

curl -H 'Client-ID: p0gch4mp101fy451do9uod1s1x9i4a' \
-X GET 'https://api.twitch.tv/helix/streams?game_id=33214'

Я могу поместить эту точную строку в свой терминал и получить ответ, но как именно я могу сделать это в JavaScript или REACT?

Я пытался использовать fetch в реакции, но это только позволяет мне отправить запрос на получение, и это дает мне ответ о несанкционированном доступе, потому что он берет только ссылку, и если я отправлю всю вещь в виде строки, она просто дай мне ошибку 404, потому что она не распознана.

В моем терминале я могу просто вставить всю строку и получить верный ответ. Как мне повторить это в JavaScript или реагировать?

1 Ответ

0 голосов
/ 18 мая 2019

Fetch работает с любым стандартным методом запроса и позволяет устанавливать заголовки, как показано ниже:

const url = 'https://api.twitch.tv/helix/streams?game_id=33214';
const options = {
  method: 'GET',
  headers: {
    'Client-ID': 'p0gch4mp101fy451do9uod1s1x9i4a'
  },
  //body: JSON.stringify({name:'test'}) //example of how to have a body also
};

fetch(url, options)
.then(res=>{
  if(!res.ok)
    throw new Error(res.statusText);
  return res.json();
})
.then(json => console.log(json))
.catch(err => {
  console.error('Request failed', err)
});

для получения дополнительной информации читайте документы https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API или отметьте это https://flaviocopes.com/fetch-api/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...