2016-11-08 3 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 

Google ConsoleのAPIキーを押すと、リクエストが機能します。問題は、GoogleコンソールのReferrerまたはServer IPのAPIキーアクセスを制限するように見えないことです。サーバーまたはIPのドメインを指定すると機能しません。私の推測では、AjaxはリファラーやサーバのIP情報をGoogleに送信して、リクエストが正当なものかどうか判断しません。現時点では、私は APIキーの制限を使用して立ち往生していますが、これはもちろん良い考えではありません。

AJAX経由でGoogle APIを呼び出す際に、誰かがGoogle APIのキーアクセスを制限した経験がありますか?

答えて

0

ただ単にコード

google api

に直接APIキーを埋め込まない、思い出させます
関連する問題