首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从Zomato api搜索查询+发布数据

从Zomato api搜索查询+发布数据
EN

Stack Overflow用户
提问于 2019-10-22 04:30:29
回答 1查看 193关注 0票数 0

这个站点上的另一个人能够帮助我了解如何从jsonplaceholder发布数据。但是我正在尝试弄清楚如何从zomato api发布数据,因为我想模拟一个执行搜索查询并根据输入发布数据的应用程序,但是例如,如果我搜索"bethesda“,我不确定我需要获取哪个url。文档中的参数是否都需要在url中?我只是困惑于如何获得一个响应id,以及如何让它搜索我在搜索字段中输入的特定城市的所有餐厅。

https://developers.zomato.com/documentation#!/common/establishments

代码语言:javascript
代码运行次数:0
运行
复制
    Description    Parameter Type    Data Type
     user-key    
    (required)

    your API key

    header               string
    city_id    
    id of the city

    query               integer
    lat    
    latitude / longitude of any point within a city

    query                double
    lon    
    latitude / longitude of any point within a city

    query                  double 
代码语言:javascript
代码运行次数:0
运行
复制
    var apiKey = 'd40175980577c1cb4df25d608886594b';
    var api = 'https://developers.zomato.com/api/v2.1/search?entity_id=259&entity_type=city&start=0&count=20'
    '
    var city = Bethesda;
    var url = api + city + apiKey;


function GetPosts(e) {
    e.preventDefault();
    fetch('https://jsonplaceholder.typicode.com/posts')
      .then((res) => res.json())
      .then((data) => {
        console.log(data);
        let output = '<h2>Get Posts</h2>';
        data.forEach(function(post) {

          output += `
              <div>
                  <h2>${post.title}</h2>
                  <p>${post.body}</p>

              </div>
              `;
        });
        document.getElementById('restaurant_results').innerHTML = output;

      })
  }
  document.querySelector('.submit-btn').addEventListener('click', GetPosts);
EN

回答 1

Stack Overflow用户

发布于 2019-10-23 01:38:00

Zomato API文档实际上会创建一个cURL请求,您可以复制它来为您试用。https://developers.zomato.com/documentation#!/restaurant/restaurant_0

在您的案例中,生成了Zomato API:

代码语言:javascript
代码运行次数:0
运行
复制
curl -X GET --header "Accept: application/json" --header "user-key: XXXXXX" "https://developers.zomato.com/api/v2.1/locations?query=bethseda&count=10"

您不能像上面那样简单地附加一个API密钥,您需要使用API文档中定义的正确的头部密钥将其包含在头部中。

代码语言:javascript
代码运行次数:0
运行
复制
fetch('https://developers.zomato.com/api/v2.1/locations?query=bethseda&count=10', 
  {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
     "Accept": "application/json",
    "user-key": "XXXXXXXXXXXX"
  }}).then(function(response){
     return response.json(); 
 }).then(function(data){
   console.log(data);
 });  

使用fetch文档:https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

如果您希望能够添加一个值并更改位置,在本例中为chnage bethseda,那么您可以在将其传递到fetch之前将url设置为动态并更改城市名称

请注意该方法是如何获取的,我是如何传入标头的,并将cURL请求转换为fetch

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58493709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档