ZOMATO - 无效的 API Eclipse 中的密钥错误,但在 POSTMAN 响应中是成功的



我正在执行ZOMATO API的GET请求,POSTMAN工具返回成功的响应,但是当我尝试使用Eclipse时,它返回以下消息: 403 错误 无效的 API 密钥

我在POSTMAN和Eclipse中使用的API密钥是相同的,经过仔细检查。

日食代码如下所述:

public class exampleTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
RestAssured.baseURI = "https://developers.zomato.com";
Response res = given().
param("user-key", <api_key>).
when().
get("/api/v2.1/categories").
then().assertThat().statusCode(400).and().contentType(ContentType.JSON).extract().response();

在 POSTMAN 工具中,我在标头中传递密钥,而不是 URL 和响应是成功的,如下所示:

{
"categories": [
{
"categories": {
"id": 1,
"name": "Delivery"
}
},
{
"categories": {
"id": 2,
"name": "Dine-out"
}
},
{
"categories": {
"id": 3,
"name": "Nightlife"
}
},
{
"categories": {
"id": 4,
"name": "Catching-up"
}
},
{
"categories": {
"id": 5,
"name": "Takeaway"
}
},
{
"categories": {
"id": 6,
"name": "Cafes"
}
},
{
"categories": {
"id": 7,
"name": "Daily Menus"
}
},
{
"categories": {
"id": 8,
"name": "Breakfast"
}
},
{
"categories": {
"id": 9,
"name": "Lunch"
}
},
{
"categories": {
"id": 10,
"name": "Dinner"
}
},
{
"categories": {
"id": 11,
"name": "Pubs & Bars"
}
},
{
"categories": {
"id": 13,
"name": "Pocket Friendly Delivery"
}
},
{
"categories": {
"id": 14,
"name": "Clubs & Lounges"
}
}
]
}

我有这个错误,只是试试这个它会起作用,

不要使用用户密钥,只需使用 APIKEY。

developers.zomato.com/api/v2.1/categories?apikey=您的 API 密钥

祝你好运。

您正在将 api 密钥作为 RestAssured 中的查询参数传递。它应该作为标头参数传递。喜欢这个:

.header("user-key", <api_key>)

对我来说,它通过使用标头而不是标头函数调用来工作。

RequestSpecification requestSpec=RestAssured.given().headers("Content-Type","application/json","user-key",<api-key>);                  

最新更新