Google maps api v3 reporting key error

天大地大妈咪最大 提交于 2020-01-04 13:07:28

问题


I've been running a site to give directions for wedding guests to find hotels and B&B's in the area local to our reception. No issues with the API for a few months, did my homeowrk and the code is solid and working without issue.

Logged in this evening and I'm getting an invalid key error. I've done the following:

  • Checked that I've not exceeded the 'grace' limits of 25.000 requests per day. In fact the wedding isn't until later this year, there have been a grand total of 124 requests since February.
  • Refreshed the key and re-loaded. No joy.
  • Tried re-setting the referrer, but doubt this would have any impact and as expected it didn't!

Anyone else have similar issues to this and if so, how did you overcome it? Trying to think of fresh ideas to get around the issue. Quite at a loss, it was working perfectly until tonight!

All the best,

-Brendan

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  dir="ltr" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Accomodation</title>
<link rel='stylesheet' href='rsvp-load-styles.css' type='text/css' media='all' />
<link rel='stylesheet' id='colors-css'  href='rsvp-colors-fresh.css' type='text/css' media='all' />
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js'></script>
    <script type="text/javascript"
      src="http://maps.googleapis.com/maps/api/js?key=...&sensor=true">
    </script>
    <script type="text/javascript">
    //<![CDATA[

    var customIcons = {
      Blue: {
        icon: 'Blue.png',
        shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
      },
      Red: {
        icon: 'Red.png',
        shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
      }
    };

      // arrays to hold copies of the markers and html used by the side_bar 
      // because the function closure trick doesnt work there 
      var gmarkers = []; 

    function load() {
            var dunbrody = new google.maps.LatLng(52.241808,-6.945248);
            var myOptions = {
                center: dunbrody,
                zoom: 10,
                mapTypeId: google.maps.MapTypeId.SATELLITE
            };

            var map = new google.maps.Map(document.getElementById("map_canvas"),
            myOptions);
             var infoWindow = new google.maps.InfoWindow;

        // Change this depending on the name of your PHP file       
        downloadUrl("markers.php", function(data) {
            var xml = data.responseXML;
            var markers = xml.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {
                var name = markers[i].getAttribute("name");
                var point = new google.maps.LatLng(
                    parseFloat(markers[i].getAttribute("lat")),
                    parseFloat(markers[i].getAttribute("lng")));
                var type = markers[i].getAttribute("type");
                var html = "<b>" + name + "</b> <br/>";
                var icon = customIcons[type] || {};
                var marker = new google.maps.Marker({
                map: map,
                position: point,
                icon: icon.icon,
                shadow: icon.shadow
            });
          bindInfoWindow(marker, map, infoWindow, html);
              // save the info we need to use later for the side_bar
            gmarkers.push(marker);
        }
      });
      }

          function bindInfoWindow(marker, map, infoWindow, html) {
            google.maps.event.addDomListener(marker, 'click', function() {
            infoWindow.setContent(html);
            infoWindow.open(map, marker);
            });
        }

            function downloadUrl(url, callback) {
                var request = window.ActiveXObject ?
                new ActiveXObject('Microsoft.XMLHTTP') :
                new XMLHttpRequest;

                request.onreadystatechange = function() {
                if (request.readyState == 4) {
                    request.onreadystatechange = doNothing;
                    callback(request, request.status);
                }
            };

                request.open('GET', url, true);
                request.send(null);
            }

            function myclick(i) {
                google.maps.event.trigger(gmarkers[i], "click");
            }

            function doNothing() {}

      //]]>
      </script>
</head>
<body class="wp-admin no-js  options-general-php" onload="load()" onUnload="GUnload()"><div id="map_canvas" style="width: 100%; height: 50%;"></div><div id="details" style="width: 100%; height: 50%;overflow:scroll;"><table><tr><th align="left" valign="top" colspan="2"><b>Dunbrody Country House Hotel</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>The reception will be held here.</td></tr><tr><td  align="right" valign="top">Tel:</td><td>+353 (0)51 389 600</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://dunbrodyhouse.com/" target="_blank">http://dunbrodyhouse.com/</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(1-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Marsh Mere Lodge</b></th></tr><tr><td  align="right" valign="top">Details:</td><td></td></tr><tr><td  align="right" valign="top">Tel:</td><td>+353(0) 5138 9186</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://www.marshmerelodge.com/" target="_blank">http://www.marshmerelodge.com/</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(2-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Glendine Country House</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>Also has a 2 bed cottage - sleeps 4</td></tr><tr><td  align="right" valign="top">Tel:</td><td>+353(0) 5138 9500</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://www.glendinehouse.com/" target="_blank">http://www.glendinehouse.com/</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(3-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Arthurs Rest</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>Peggy Murphy arthursrest@eircom.net 
Immaculate and comfortable - ideal for families.</td></tr><tr><td  align="right" valign="top">Tel:</td><td>No: +353(0) 5138 9192</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="" target="_blank"></a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(4-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Kilmokea House</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>A member of Hidden Ireland, Kilmokea offers beautiful gardens, relaxing formal rooms and is ideal for those looking for quiet.</td></tr><tr><td  align="right" valign="top">Tel:</td><td>No: +353(0) 5138 8109</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://www.kilmokea.com" target="_blank">http://www.kilmokea.com</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(5-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>The Loft Self Catering</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>Peggy Murphy, Arthurstown.
Charming converted grain loft, sleeps 8 - perfect for younger groups. </td></tr><tr><td  align="right" valign="top">Tel:</td><td>No: +353 (0) 5138 9102</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://www.discoverireland.ie/Where-To-Stay/the-loft/60533" target="_blank">http://www.discoverireland.ie/Where-To-Stay/the-loft/60533</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(6-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Ann Walsh, Self Catering</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>Ballytarsna, Ballycullane. From �130 4 bedroom farmhouse - sleeps 8.</td></tr><tr><td  align="right" valign="top">Tel:</td><td></td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="" target="_blank"></a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(7-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Duncannon Holiday Homes</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>3 bedroom homes set in the heart of Duncannon village. Sleeps 6. From �120 </td></tr><tr><td  align="right" valign="top">Tel:</td><td>No: +353 (0) 5138 9188</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="" target="_blank"></a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(8-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Beachview Self Cateringeps </b></th></tr><tr><td  align="right" valign="top">Details:</td><td>Sleeps 6</td></tr><tr><td  align="right" valign="top">Tel:</td><td></td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://www.selfcateringhomes.ie/index.php?route=showhome&pid=181#owner" target="_blank">http://www.selfcateringhomes.ie/index.php?route=showhome&pid=181#owner</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(9-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Coastguard Cove -3 bed</b></th></tr><tr><td  align="right" valign="top">Details:</td><td></td></tr><tr><td  align="right" valign="top">Tel:</td><td></td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://www.daft.ie/searchshortterm.daft?id=18365" target="_blank">http://www.daft.ie/searchshortterm.daft?id=18365</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(10-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Rivervalley Farmhouse</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>anne@rivervalleyfarmhouse.com</td></tr><tr><td  align="right" valign="top">Tel:</td><td>No: +353 (0) 5156 1354 </td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://www.rivervalleyfarmhouse.com/" target="_blank">http://www.rivervalleyfarmhouse.com/</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(11-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>The Haven Lodge </b></th></tr><tr><td  align="right" valign="top">Details:</td><td>ellencolfer@hotmail.com </td></tr><tr><td  align="right" valign="top">Tel:</td><td>No: +353 (0) 5156 1319</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://www.hooktourism.com/where_to_stay/detail/the_haven_lodge_bed_breakfast/ " target="_blank">http://www.hooktourism.com/where_to_stay/detail/the_haven_lodge_bed_breakfast/ </a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(12-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Carrig House B&B</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>Nicola & Nicholas Howlin nhowlin@eircom.net http://www.bandbwexford.com </td></tr><tr><td  align="right" valign="top">Tel:</td><td>No: +353 (0) 5156 1101</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://www.hooktourism.com/where_to_stay/detail/carraig_house_bb/" target="_blank">http://www.hooktourism.com/where_to_stay/detail/carraig_house_bb/</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(13-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Herrylock Cottage B&B</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>harrylock@eircom.net  Prop: Anna and David Nash Hook Head Fethard-on-Sea Co. Wexford </td></tr><tr><td  align="right" valign="top">Tel:</td><td>No: +353 (0) 5139 7029</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="Co. Wexford http://www.hooktourism.com/where_to_stay/detail/herrylock_bb/" target="_blank">Co. Wexford http://www.hooktourism.com/where_to_stay/detail/herrylock_bb/</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(14-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Groveside Farm B&B</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>Ballyharty, Kilmore, Co.Wexford. �</td></tr><tr><td  align="right" valign="top">Tel:</td><td>No: +353 (0) 5391 35305</td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="http://www.grovesidefarm.com/" target="_blank">http://www.grovesidefarm.com/</a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(15-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr><tr><th align="left" valign="top" colspan="2"><b>Crooke Church</b></th></tr><tr><td  align="right" valign="top">Details:</td><td>Tying the knot here.</td></tr><tr><td  align="right" valign="top">Tel:</td><td></td></tr><tr><td  align="right" valign="top">Link:</td><td><a href="" target="_blank"></a></td></tr><tr><td  align="right" valign="top">Google Map:</td><td><a href="javascript:myclick(16-1)">[Show on Map]</a></td></tr><tr><th align="left" valign="top" colspan="2"><br></th></tr></table>    </div>
</body>
</html>

回答1:


Although clearing the referrers will fix the issue, it does mean that your key is wide open to misuse (because you are not specifying where it can be used). I've edited it out of the question, although it's not entirely hidden.

Your referrer strings must match the URLs where your map is hosted -- that means that it is necessary to use /* on the end of a domain name, to indicate that any URL in that domain is acceptable. If you don't have the star on the end, only the default page will match — and even that won't match if there's an explicit redirection to another page.

www.exampledomain.com/* will match any page in that domain.
www.exampledomain.com/ won't.

If your page can be reached using www. or missing that out, or if you have other subdomains, you need to use *.exampledomain.com/*.

If you use HTTPS for your site, you need to specify that protocol explicitly.



来源:https://stackoverflow.com/questions/10574943/google-maps-api-v3-reporting-key-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!