0

我正在尝试获取存储在 zomato api 中的数据并检查网站中生成的一些 url,例如,

<a href="https://developers.zomato.com/api/v2.1/restaurant?res_id=RESID">

https://developers.zomato.com/api/v2.1/restaurant?res_id=RESID ,

我收到一条错误消息:

{"code":403,"status":"Forbidden","message":"Invalid API Key"}

而这个相同的 url 给出了关于某些餐厅的数据的 json 格式响应。另外,我生成了一个 zomato API 密钥。但是,问题。请让我知道我错在哪里,以便我纠正自己。

谢谢你。

4

4 回答 4

1

如果您尝试获取 API 以获取响应数据。

通过标头传递 API 密钥

axios({
      method: "GET",
      url: "https://developers.zomato.com/api/v2.1/search",
      headers: {
        "user-key": "API_KEY",
        "content-type": "application/json"
      }
    })
      .then(response => {
        console.log(response.data.restaurants[0].restaurant.name);
      })
      .catch(error => {
        console.log(error);
      });
于 2019-10-13T11:05:11.060 回答
1

尝试从 http 请求的标头传递 Zomato api 密钥,而不是在查询字符串中传递密钥

于 2018-02-18T03:58:27.363 回答
0

在javascript结构中,api以这种方式调用:

$.ajax({  
url: "https://developers.zomato.com/api/v2.1/restaurant?res_id=RESID",
dataType: 'json',
async: true,
beforeSend: function(xhr){xhr.setRequestHeader('user-key', 
'INSERT_API_KEY_HERE');},  // This inserts the api key into the HTTP header
success: function(response) { console.log(response) } });
于 2018-04-30T23:42:27.107 回答
-1
 public Map < String, String > getHeaders() {
    Map < String,
    String > params = new HashMap < String,
    String > ();
    params.put("user-key", "xxx");
    params.put("Accept", "application/json");
    return params;
  }
于 2021-01-23T12:49:56.457 回答