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密钥访问的经验吗?