Ошибка аутентификации во вложенном запросе API - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь передать сведения о месте Foursquare на страницу со списком мест (родительский), но получаю сообщение об ошибке от вложенной функции, которая извлекает данные. Первоначальный запрос листинга возвращает данные, как и ожидалось, без ошибок. Как устранить ошибку аутентификации по вложенному запросу?

Это ошибка -

{
  code: 400
  errorDetail: "Missing access credentials. See 
  https://developer.foursquare.com/docs/api/configuration/authentication 
  for details."
  errorType: "invalid_auth"
}

Я вызываю эту функцию в функции листинга -

    var request = new XMLHttpRequest();

    function getDetails(e){
        requestVenueDetails = 'https://api.foursquare.com/v2/venues/'+e+'&client_id='+{client id}+'&client_secret='+{secret}+'&v='+{version};
        request.open('GET', requestVenueDetails, true);
        request.onload = function()
        {
            var detailsData = JSON.parse(this.response);  
            var venueDetails = detailsData; 
            console.log(venueDetails, ' return confirmation message');    
        }
        request.send();    
    }

Вот функция листинга -

    returnRequest = function(){
        request.onload = function()
        {
            var data = JSON.parse(this.response);  
            var venues = data.response.venues;     
            console.log(venues);           
            if(venues.length>0)
            {
                venues.forEach( venue=> {
            if((venue.location.address != null) && (venue.verified = true))
                    {
                        getDetails(venue.id);
                        {listing html here}
                    }
                });    
            }
        request.send();
    }

1 Ответ

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

Проблема была в пропущенном '?' во вложенном URL-адресе запроса после идентификатора объекта и перед учетными данными пользователя.

DOH, просто нужно было смотреть на него дольше отдыхающими глазами.

...