2017-07-18 47 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密鑰。但是,這些信息應該足以讓你開始。請爲任何其他問題創建一個新問題。