Что делает разработчик, когда он не знает, как что-то сделать? Да, вы правы, мы гуглим! Это то, что мне пришлось сделать, когда я хотел включить YELP API в один из моих проектов, с большим количеством поиска в Google.

Обход

Решив работать с Yelp Fusion Api, я быстро понял, что после реализации в моем коде я продолжал получать ошибки CORS в своей консоли.

Доступ к XMLHttpRequest по адресу https://api.yelp.com/v3/businesses/search?term=jerk%20chicken&location=Toronto из источника null заблокирован политикой CORS: ответ на предварительный запрос не проходит проверку управления доступом: в запрошенном ресурсе отсутствует заголовок Access-Control-Allow-Origin.

Чтобы решить эту проблему, если вы тоже столкнулись с аналогичной проблемой, знайте, что это решение было принято командой разработчиков Yelp, чтобы запретить пользователям разрабатывать интерфейсные приложения или веб-сайты и хранить свой ключ API в виде открытого текста. Чтобы заставить его работать, поэтому мы используем CORS Anywhere, когда мы открываем эту ссылку онлайн, есть кнопка Запросить доступ к демонстрационному серверу, мы нажимаем на нее, и это активирует CORS, после этого мы можете вернуться на наш сайт и получить доступ к YELP API. Я также оставлю ссылку на свой собственный веб-сайт, чтобы вы могли проверить, как я его использовал.

https://mehdisafari77.github.io/holy-hour/

Начиная

Вот пример запроса с использованием конечной точки /businesses/search. Примечание. Это ссылка, которую мы должны вставить https://cors-anywhere.herokuapp.com/ перед нашим URL-адресом.

Чтобы реализовать это в коде, вам нужно, чтобы ваш код выглядел так:

https://raw.githubusercontent.com/mehdisafari77/holy-hour/main/yelp.js

Это даст вам объект, который будет включать в себя все предприятия категории «бар» в городе Лос-Анджелес. Термины могут быть такими, какими вы их выбираете, важными аспектами являются вызов $ajax и ссылка CORS Anywhere перед URL-адресом yelp. Я надеюсь, что это поможет вам сделать то, что вам нужно.