I am using this geocoder API to get the geocodes of an address. Thing is that there is no API key in this API. Will google block me after certain requests or not ?
http://maps.googleapis.com/maps/api/geocode/json?address=
The use of a key with the Google Maps Geocoding API is mandatory, it doesn´t matter if the free limit is not reached, your requests could still be blocked at some point.
https://developers.google.com/maps/documentation/geocoding/intro
To use the Google Maps Geocoding API, you need an API key.
It is free to use, but they limit both the request rate and the total requests per day. You can pay more to have those limits lifted. More details can be found here:
https://developers.google.com/maps/documentation/geocoding/usage-limits
Related
I am asking this question after extensively reading Google's recommended approach, but I do have a problem with all these approaches, let me explain the situation.
I use combination of geolocation and geocoding API to know the approximate state location and then display relevant content. The geolocation API needs to be called obviously from the browser to get appropriate geolocation of the user. Google provides HTTP Referrer based restriction for this API. I know someone can easily spoof the referrer and make calls with the same API key. I do not see a huge advantage even though Google recommends this.
On the other hand Google does not allow HTTP Referrer for geocoding API, but it does allow that for the MAPS JavaScript API. But again if you are not using Google maps then using that API is violation of Google's terms. Now google recommends to move the code that uses geocoding web services API to be on the back-end so that your key will be protected. But since ultimately I need to deliver the result to a front-end web application that is publicly accessible and I can only make a browser based Ajax call to first get the geolocation to feed to geocoding, I ultimately need to make an Ajax call to get my geocoding information. Then someone can easily just latch onto my end-point to piggy back on and call the geocoding API as much as they want. So for situations like this I want to know what is the ideal and secured way to deal with. May be there are other APIs that might be an ideal situation for this.
In my case, I am not doing any maps so it's all purely server-side to get latitudes, longitudes and driving distance between two points. This today from Google support which might help and if you're using maps, then the links may provide further insight.
Regarding API restrictions, please note that HTTP referrers will not
work on Geocoding API since HTTP referrers can only be used for client
side services. In other words, Geocoding is a web service API and
should only be used on server-side implementation. IP address
restrictions should be used for web service APIs. However, if you are
using the Geocoding API in a website, IP address restriction would not
work. Please check the suitable restrictions for each API in the
following link:
https://developers.google.com/maps/api-key-best-practices#api_key_table
To make this work, you should create a separate key and use the new
one in your Geocoding API request URL. You may add a restriction to
this key by using an "API restriction", and restrict it to Geocoding
API only. If you don't want to create another key, you may keep using
your current one but make sure to change your implementation and use
the client side Geocoding service from the Maps JavaScript API. In
that case, please refer to this documentation:
https://developers.google.com/maps/documentation/javascript/geocoding
Another suggestion would be to get a static IP address from your ISP,
especially if you are planning to use it on a public website. For
development purposes, a sound solution would be to get three separate
keys: one for the staging and tests, another for server-side requests
and a third one for client-side requests. That way, you are making
sure your API key is protected.
i want to be able to fetch all the quotas status related to the google analytics API consumption. One part of it seems to be available via IAM:
First, accessing to these data through an API would be nice..is it possible with the IAM API ?? If so, can i get a sample ?
Next, i need one more data: the google analytics quota consumption PER VIEW (which is limited to 10.000 queries per view per day)..is it also possible to fetch this data, one way or another ?
Cheers,
Clément.
At this time there is no way to programmatically access the quota usage of any Google API.
You will either need to check it manually on the google developer website or you will have to keep a count yourself in your application.
There is no other way of fetching data the Google Analytics data. If you have a 360 account you can have your data extracted into Big Query.
You can only make 10000 requests per view per day. There is also no way to increase this quota.
IAM API is for use with Google cloud and not discovery APIs so no that is not going to help you either.
Google Maps API provides an Autocomplition service.
According to this blog post (official?) this service is limited only by adding "powered by Google" logo.
When I'm using js library (http://maps.google.com/maps/api/js?sensor=false&libraries=places) I'm not sending any Key information. But in a sniffer I can see some token GET parameter, which seems is generated by library.
Which one limitation information is correct?
How Google can track without Key (in case it is limited by requests per day)?
Is that possible to retrieve autosuggestion by js (from google.maps.places.Autocomplete), but then using reference (without storing) on backend and loading place details (similar to getPlace() functionality of an Autocomplete object)? If this not limited, how to generate token?
Google Places API Web Service
The Google Places API Web Service enforces a default limit of 1 000
requests per 24 hour period, which you can increase free of charge. If
your app exceeds the limit, the app will start failing. Verify your
identity to get up to 150 000 requests per 24 hour period, by enabling
billing on the Google Developers Console.
Now check at the very top of that page
Note: These limits do not apply to the Places Library in the Google
Maps JavaScript API, which is covered by the Google Maps JavaScript
API limits. If you are developing a web based application that only
needs to search for places, and does not submit new places, you should
use the Places Library of the Google Maps Javascript API rather than
the Google Places API Web Service. The Places library assigns a quota
to each end user rather than to each key. This means that your
available quota increases with your user base rather than being capped
at a fixed amount.
they are probably using ip address to identify different users.
Is there any way to get the requests quota of Google Calendar API by calling some API method in code?
I know that I can see the total and remaining requests count on the project dashboard. But, I want to fetch it in my application and display it to admin user on a web page for convenience so that he doesn't need to sign in to Google to view the quota.
Thanks
No there is no way to see how much of the Quota you have used on any of the Google APIs. I normally keep a running count of requests for display to the user. But there is no way to check what the over all quota usage is for the application.
I have done send feed back from the Developer console several times asking them to add an API. There are cloud monitoring APIs but nothing for monitoring quota usage.
I'm using JavaScript Places Library
http://code.google.com/intl/en/apis/maps/documentation/javascript/places.html
However, I can't find how to set the API key.
Is there a limit to the number of times I can use this Library?
The Google Maps JavaScript API V3 Places Library does not require an API key to implement. The library however is limited by requests per minute, per user. If a user exceeds this limit the request will return the status OVER_QUERY_LIMIT