我正在编写一个编程训练营并正在开展项目以获得国家公园服务的API并返回他们的数据,但他们的文档非常糟糕。有人可以协助我有效地调用API吗?
答案 0 :(得分: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>
&#13;
现在,我们遇到了一个问题:当我们发出请求时,我们收到错误消息。错误如下:
XMLHttpRequest无法加载https://developer.nps.gov/api/v0/parks。 &#39; Access-Control-Allow-Origin&#39;标头包含多个值&#39; *,*&#39;,但只允许一个。起源&#39; null&#39;因此不允许访问。
如何解决这个问题,我不知道。也许我没有正确设置API密钥。但是,这些信息应该足以让您入门。请为任何其他问题创建一个新问题。