2016-11-08 105 views
1

我正在請求使用Ajax Google Time Zone API並按照this tutorial不能限制API密鑰訪問

var apicall = 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=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密鑰訪問的經驗嗎?

回答