Не удается получить запрос к Cloudinary API с помощью компонента React - PullRequest
0 голосов
/ 25 июня 2018

Я хочу сделать HTTP-запрос к Cloudinary API для изображений в моей учетной записи.Необходимый URL выглядит следующим образом:

https://<<API KEY>>:<<API SECRET>>@api.cloudinary.com/v1_1/<<RESOURCE NAME>>/resources/image

, и когда я нажимаю этот URL из браузера, я получаю то, что ищу, прекрасный объект JSON со всеми моими изображениями.

Но когда я нажимаю URL-адрес из компонента React,

componentDidMount() {
  this.props.fetchArt();
}

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

TypeError: Failed to execute 'fetch' on 'Window': Request cannot be constructed from a URL that includes credentials:

ДействиеСоздатель выглядит как

export function fetchArt() {
  const url = 'https://'+CLOUDINARY_KEY+':'+CLOUDINARY_SECRET+'@api.cloudinary.com/v1_1/prints20/resources/image';
  const request = fetch(url).then(res => res.json())
  return {
    type: FETCH_ART,
    payload: request
  }
}

Ссылка на репо: https://github.com/PantherHawk/prints20-2018

Заранее спасибо за миллион!

1 Ответ

0 голосов
/ 25 июня 2018

Если вашей конечной точке требуется какая-либо авторизация, вам нужно будет передать эту информацию в заголовки вашего запроса.Облачная аутентификация выполняется с использованием базовой аутентификации по безопасному HTTP.Ваш облачный ключ API и API Secret используются для аутентификации.

fetch('https://api.cloudinary.com/v1_1/CLOUD_NAME/resources/image', {
  method: 'get',
  headers: {
    'Authorization': 'Basic ' + base64.encode(API_KEY + ":" + API_SECRET),
  },
}).then(res => res.json())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...