Как устранить ошибку CORS при вызове Yelp API?

Я пытаюсь вызвать Yelp Fusion API с помощью AJAX, но получаю следующую ошибку: Может ли кто-нибудь помочь мне разобраться, что здесь происходит?

api.yelp.com/v3/:1 Не удалось загрузить ресурс: сервер ответил статусом 403 () index.html: 1 Доступ к XMLHttpRequest по адресу 'https://api.yelp.com/v3/' из источника 'null' был заблокирован политикой CORS: ответ на предварительный запрос не проходит проверку контроля доступа: заголовок 'Access-Control-Allow-Origin' отсутствует на запрашиваемый ресурс.

Вот код, который я использую:

var queryURL = "https://api.yelp.com/v3/";
var apiKey = "my key" 

$.ajax({
    url: queryURL,
    method: "GET",
    headers: {
        "accept": "application/json",
        "Access-Control-Allow-Origin":"*",
        "Authorization": `Bearer ${apiKey}`
     }
 }).then(function(res) {
     var results = res.data
     console.info(results);
 });

Привет, @cody, вы уверены, что можете использовать Yelp API на стороне клиента? Потому что, очевидно, вы раскрываете свои учетные данные API, и это должно противоречить их условиям.

Haktan Suren 18.11.2018 05:38

Привет, Хактан, думаю, лучше поздно, чем никогда. Но я понял, что не могу использовать Yelp на стороне клиента. Спасибо за вашу помощь!

Cody 29.12.2018 06:48
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
2
2
2 550
1

Ответы 1

Попробуйте использовать прокси CORSAnywhere, вставьте ключ в приведенный ниже фрагмент и попробуйте:

// JavaScript Document
var queryURL = "https://cors-anywhere.herokuapp.com/https://api.yelp.com/v3/";
var apiKey = "my key"; 

$.ajax({
    url: queryURL,
    method: "GET",
    headers: {
        "accept": "application/json",
        "x-requested-with": "xmlhttprequest",
        "Access-Control-Allow-Origin":"*",
        "Authorization": `Bearer ${apiKey}`
     },
   success: function(result){
        console.info(result);
    }
 });

Другие вопросы по теме