2017-07-18 46 views
-2

我在编码训练营并且在一个项目上工作,击中国家公园服务的API并返回他们的数据,但他们有可怕的文档。有人可以帮助我有效地调用API吗?击中API带有错误的文档

+0

你有什么问题? –

+0

我获得了一个API密钥并可以查看这些参数,但是他们没有给出如何使用网址 –

+0

来调用API的解释,不包括您的API密钥,那么网址是什么?你最终的目标是什么?你想从API中检索什么?你有什么尝试? –

回答

0

继承人我采取的步骤。这应该让你开始。

1:下载并安装Google Chrome的ModHeader。这将允许您在向API发送请求时直接从浏览器指定标题。

2:使用ModHeader指定头“授权”。将该值设置为您的API密钥。

3:导航到https://developer.nps.gov/api/v0/parks。如果您右键单击此页面,点击检查,点击网络选项卡,刷新页面。然后,您应该能够点击您请求的页面,点击预览并检查JSON响应。

现在我们知道了API成功响应,这里是可用过滤器的列表:https://developer.nps.gov/api/v0/docs/resources/parks.htm

现在,我们如何包装成一些JavaScript这一切,使该API的请求?为此,我将使用jQuery。

jQuery(function() { 
 
    jQuery.ajax({ 
 
    url: "https://developer.nps.gov/api/v0/parks", 
 
    type: "GET", 
 
    async: true, 
 
    contentType: "Application/Json", 
 
    accept: "Application/JSON", 
 
    headers: { 
 
     "Authorization": "YOUR API KEY HERE" 
 
    }, 
 
    success: function(data, textStatus, jqXHR) { 
 
     console.log(data); 
 

 
    } 
 
    }); 
 
});
<html> 
 

 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
</head> 
 

 
<body></body> 
 

 
</html>

现在,我们有一个问题:当我们提出请求,我们得到一个错误。错误如下:

XMLHttpRequest无法加载https://developer.nps.gov/api/v0/parks。 'Access-Control-Allow-Origin'标题包含多个'*,*'值,但只允许有一个值。因此不允许原产地'null'访问。

如何解决这个问题,我不知道。也许我没有正确设置API密钥。但是,这些信息应该足以让你开始。请为任何其他问题创建一个新问题。