2017-03-27 41 views
0

所以我試圖使用開發人員給我的密鑰來驗證API。這是Propublica Congress API和谷歌搜索關於這個話題的任何東西似乎帶我到如果我正在製作我自己的API,我怎麼可以創建密鑰給用戶(在這裏搜索是相同的)。我想驗證這個API,以便我可以從中獲取信息,但是我看不到任何地方似乎有一個直接的答案。我如何使用PHP對此API進行身份驗證?如何在PHP中驗證API?

+0

你正在使用什麼來放置API請求,如Javascript AJAX,PHP Curl或你正在使用什麼來獲取數據? – webDev

回答

1

這是right there in the documentation,只需在每個請求中添加一個X-API-Key標題和您的API密鑰即可。

+0

也許我只是在我的頭上......但我真的不知道是什麼加到頭上意味着什麼。向URL添加?X-API-Key =鍵仍告訴我這是禁止的。 – PoasterToaster

+0

這不是他的意思。你應該發佈代碼,你不想使用得到更具體的答案。你使用捲曲嗎?然後看看這裏:http://stackoverflow.com/questions/8115683/php-curl-custom-headers – Oliver

0

你必須給他們發郵件的API密鑰...到了網站,並單擊此按鈕

enter image description here

收到來自業主的API密鑰後,您都能夠使用它在你的請求中按照文檔。

+0

我已經有一個關鍵。 – PoasterToaster

+0

你使用curl來獲取數據嗎? – Sphinx

0

這取決於你將如何從你的API獲取數據,假設如果你使用PHP Curl獲取數據或者你正在使用Javascript發出請求,你必須創建自定義標題並通過自定義標題名稱X-API-Key傳遞你的密鑰。

這是簡單的PHP捲曲例子,我已經把自定義頁眉

curl_setopt($res, CURLOPT_URL, $url); 
//curl_setopt($res, CURLOPT_POST, 3); 
//curl_setopt($res, CURLOPT_POSTFIELDS, $fields); 
curl_setopt($res, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "X-API-Key: $key", 
    "customer-header2:value2" 
    )); //you can specify multiple custom keys. 


$result = curl_exec($res); 
print_r($result); 

首先你看看人家怎麼稱呼使用PHP或JS的API,然後你可以嘗試認證和自定義頭。
我想推薦你。
1)PHP捲曲example
2)jQuery的AJAX製作要求您需要先探索如何通過PHP來調用API的捲曲的任何API Link