我正在尝试一个简单的请求来测试 TripAdvisor API :
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": "invalid client key: <TRIPADVISOR_API_KEY>-mapper",
"type": "UnauthorizedException",
"code": "160"
}
}
我不明白添加到密钥上的这个“-mapper”后缀是什么。
有人遇到过同样的问题或者可以给我一些关于发生了什么的线索吗?
我尝试使用 Jsoup 或 HttpUrlConnection 编写类似的代码,每次都会遇到同样的问题。
一天后,问题消失。错误消息具有误导性,并且文档不清楚,因为他们说创建后要等待 15 分钟。