Немного странный. Я создаю приложение React js, взаимодействующее с Foursquare API, в основном, чтобы узнать о 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 [];
}
})
}
Пока все хорошо, работает нормально. Однако, когда я пытаюсь использовать тот же подход для доступа к конечной точке фотографий, метод возвращает серию объектов, содержащих мета, в которой говорится:
Код: 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.info(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
Кто-нибудь знает, почему это может происходить?
заранее спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я думаю, в вашем URL-адресе есть опечатка.
Заменять
${urlPhotos}${venueId}/photos&limit=10&client...
с участием
${urlPhotos}${venueId}/photos?limit=10&client...
Я полностью упустил это. Сказать, что я чувствую себя немного глупо, было бы преуменьшением. Дох! Спасибо, что дали мне знать :-)