Аутентификация без участия пользователя Foursquare API "Отсутствуют учетные данные доступа" - ошибка 400 - PullRequest
0 голосов
/ 05 июня 2018

Немного странно.Я создаю приложение React js, взаимодействующее с API Foursquare, в основном только для того, чтобы узнать о React js и API.

Я использую Foursquare для получения информации о месте проведения, и это прекрасно работает.Я также хочу использовать его для получения фотографий мест, где начинается самое интересное.

Метод, который обрабатывает исходный вызов мест, заключается в следующем.Я просто помещаю это здесь, чтобы обеспечить контроль, поскольку это работает отлично.Он возвращает информацию о месте, которое я обрабатываю в приложении без проблем:

getVenues: (searchTerm) => {

    const urlToFetch = 

${urlExplore}${searchTerm}&limit=10&client_id=${clientId}&client_secret=${clientSecret}&v=20180602;

    return fetch(urlToFetch).then( response => {
         return response.json();
    }).then( jsonResponse => {
        if (jsonResponse.response.groups[0].items) {
            return jsonResponse.response.groups[0].items.map(item => (
                {
                    id: item.venue.id,
                    name: item.venue.name,
                    // blah
                }
            ));                

        } else {
            return [];
        }

    })

}

Пока все хорошо, все работает отлично.Тем не менее, когда я пытаюсь использовать тот же подход для доступа к конечной точке фотографий, метод возвращает серию объектов, содержащих мета, которая гласит:

code: 400 errorDetail: "Отсутствуют учетные данные доступа. См. https://developer.foursquare.com/docs/api/configuration/authentication для деталей. "ErrorType: "invalid_auth"

Достаточно сказать, что информация по указанной ссылке на самом деле не очень помогает: - (

Метод, который я использую для получения информации о фотографии,:

getVenuePhotos: (venueId) => {

    const fetchPhotosURL = `${urlPhotos}${venueId}/photos&limit=10&client_id=${clientId}&client_secret=${clientSecret}&v=20180602`;

    return fetch(fetchPhotosURL).then( response => {
         return response.json();
    }).then( jsonResponse => {
        console.log(jsonResponse);
        //blah - removed to save space - see method above, it's pretty much the same
    })

}

... оба хранятся в объекте в отдельном файле, который импортирует реагирующий компонент.

Варианты URL разрешаются следующим образом (звездочка - мое дополнение):

fetchVenuesURL: https://api.foursquare.com/v2/venues/explore?near=london&limit=10&client_id=**** &client_secret=****&v=20180602

fetchPhotosURL: https://api.foursquare.com/v2/venues/4ac518eff964a52064ad20e3/photos&limit=10&client_id=**** &client_secret=****&v=20180602

Кто-нибудь знает, почему это может происходить?

заранее спасибо

1 Ответ

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

Я думаю, что в вашем URL есть опечатка.

Замените

${urlPhotos}${venueId}/photos&limit=10&client...

на

${urlPhotos}${venueId}/photos?limit=10&client...

...