Вопрос или проблема
Я пытаюсь сделать простой запрос для тестирования API TripAdvisor:
public static void main(String[] args) {
try {
HttpRequest request = HttpRequest
.newBuilder()
.uri(URI
.create("https://api.content.tripadvisor.com/api/v1/location/search?key=" + TRIPADVISOR_API_KEY + "&searchQuery=" + QUERY
+ "&language=fr"))
.header("accept", "application/json")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
И TripAdvisor возвращает мне следующий ответ:
{
"error": {
"message": "недействительный ключ клиента: <TRIPADVISOR_API_KEY>-mapper",
"type": "UnauthorizedException",
"code": "160"
}
}
<TRIPADVISOR_API_KEY> — это очевидно предоставленный ключ.
Я не понимаю, что означает этот суффикс ‘-mapper’, добавленный к ключу.
Кто-нибудь сталкивался с такой же проблемой или может дать подсказки о том, что происходит?
Я пробовал похожий код с Jsoup или HttpUrlConnection, и каждый раз у меня одна и та же проблема.
Ответ или решение
Судя по вашему описанию, проблема заключается в том, что TripAdvisor добавляет суффикс "-mapper" к вашему API ключу, что указывает на ошибку аутентификации. Это может происходить по нескольким причинам:
-
Неправильный формат ключа API: Убедитесь, что вы используете правильный API ключ, который был выдан вам TripAdvisor. Проверьте, что ключ больше не содержит никаких лишних символов, пробелов или неверных знаков.
-
Правила использования API: У TripAdvisor могут быть специфические правила или ограничения для использования их API, которые вы могли пропустить. Убедитесь, что вы ознакомлены с документами по API. Это может включать в себя настройки ограничений на типы приложений, способ вызова API и т. д.
-
Правильный метод аутентификации: В некоторых случаях API может требовать дополнительную аутентификацию, например, с помощью токена доступа или других заголовков. Проверьте документацию TripAdvisor, чтобы удостовериться, что вы их все сопровождаете.
-
Обратитесь в поддержку TripAdvisor: Если вы уверены, что ваш API ключ правильный и правильно используется, то лучше всего связаться с поддержкой TripAdvisor. Возможно, ваш ключ не активен или ваше приложение должно быть одобрено для доступа к API.
- Протестируйте другой API ключ: Попробуйте сгенерировать новый ключ API в аккаунте разработчика TripAdvisor и протестировать его. В случае, если проблема сохраняется, это подтвердит проблему на стороне TripAdvisor.
В общем, начните с проверки правильности API ключа, дальше следуйте данным рекомендациям. Если проблема не решится, обращайтесь к поддержке TripAdvisor для получения оперативной помощи.