1
我正在請求使用Ajax Google Time Zone API並按照this tutorial:不能限制API密鑰訪問
var apicall = 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1331161200&key=YOUR_API_KEY'
var xhr = new XMLHttpRequest() // create new XMLHttpRequest2 object
xhr.open('GET', apicall) // open GET request
xhr.onload = function(){
if (xhr.status === 200){ // if Ajax request successful
var output = JSON.parse(xhr.responseText) // convert returned JSON string to JSON object
console.log(output.status) // log API return status for debugging purposes
if (output.status == 'OK'){ // if API reports everything was returned successfully
// do something
}
}
else{
alert('Request failed. Returned status of ' + xhr.status)
}
}
xhr.send() // send request
我已經更換了關鍵的參數與我產生API控制檯中的API密鑰,並且請求起作用。問題是我似乎無法通過Google控制檯中的Referrer或Server IP來限制API密鑰訪問 - 指定我的服務器或IP的域不起作用。我的猜測是,Ajax不會發送引薦來源或服務器IP信息以及Google的請求,以確定它是否是有效請求?目前我堅持使用沒有 API密鑰限制,當然這當然不是一個好主意。
任何人在通過AJax調用Google API時都有限制Google API密鑰訪問的經驗嗎?