Немного странно.Я создаю приложение 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
Кто-нибудь знает, почему это может происходить?
заранее спасибо