I'm currently upgrading one of my websites from the old system to HTML5 and I have some problems with the Google Maps JavaScript API v3. To fetch data from their API, you must have an key - of course - but it's here I have the problem.
The problem is that even if I have an correct key that I have added on their Google APIs Console I'm getting "Permission Denied" all the time, followed by an alert window that say that I don't have an real API key or it's not approved to Google Maps JavaScript API v3.
I have turned on "Google Maps API v3" in "Services" on Google APIs Console and payed the "bill" but that didn't help at all as proved. I'm using this URL to their API: http://maps.googleapis.com/maps/api/js?key={MY_KEY}&sensor=false and I have readed their documentions very carefully and I'm currently out of ideas.
Do you know what's wrong here? Have I missed something or what?
In the absence of a link to check...
You can have more than one Project (dropdown, top left in the Console), and each key is tied to a project. Maps v3 must be enabled for the right project.
The seqence should be:
Choose project from the dropdown (or create one)
Choose the services required by that project
Choose collaborators if any
Set up the access keys for that project. You can have more than one key per project and specify the domains the keys can be used on.
Set up billing if you need it.
The menu on the left is set out in a logical order.
Related
I want to programmatically search the web using Google, and after hours of Google searching I have found this answer, but it was written in 2016 and many things have changed since then.
Following the tutorial, I created a stub custom search engine that indexes the entire internet, you can view my search engine if you want, not sure if you have permission to do so though.
Then I clicked Get started button on the right of Custom Search JSON API, got redirected here:
https://developers.google.com/custom-search/v1/introduction
I clicked that big Get a Key button and this happened:
Couldn't initialize
Service 'customsearch' not found or permission denied.
I searched that message and found exactly nothing relevant.
Then I went to console.cloud.google.com and enabled Custom Search API for the stub project I had to create in order to access youtube-data-api-v3:
https://console.cloud.google.com/apis/api/customsearch.googleapis.com/metrics?project=project-athena-348708
I noticed that its name is customsearch.googleapis.com and not customsearch.
Then I clicked CREATE CRENDENTIALS button and was forced to try to create a stupid nonsensical useless service account just to get an API key, because there is no other way to get an API key...
And it took forever and failed every single time...
What can I try, at this point, to get a customsearch API key?
Turns out the solution is extremely simple, in fact it is so simple it is stupid.
The solution? Don't click that big and obvious CREATE CRENDENTIALS button, because that is clearly what Google wants us users to click, and chances are extremely high that is not what you wanted.
Then how to get an API key to the service?
Well any API key associated with the project is a valid API key for any service enabled in the project, I only figured it out because API key 1 text in "Credentials" box.
But it recommended to use different API keys for different API services because each free API key has a 10,000 daily use quota.
Then how to create an API key?
Well, in the left pane, click Credentials, then click + CREATE CRENDENTIALS, then choose API key, done.
I was looking at the Google Fonts Developer API, where you can programatically query the Google Fonts catalog and get some JSON results. You have to get a an API key through Google to use it.
I want to create an extension/plugin for a text editor where you can query the Google Fonts catalog using this API. I would plan on distributing this plugin for anyone to use.
However, in order for it work, I obviously have to sign up for an API key and include that in the code for the plugin so it gets distributed also.
I know that API keys like this as not secret passwords or anything like that, but should they be distributed like this? If one was to build something like this, this seems like the only way to do it.
What happens if someday my own Google account is compromised? What if I need to refresh the API key for some random reason, etc? Then all those users of the plugin would be out of luck since the plugin is using an old key.
What is the best approach to this type of problem? I was planning on having the API key to be "editable" in the plugin so that one could use their own key if they wished, but I don't want that to be a requirement because it just creates a higher barrier to entry.
I am working to develop an external application that will be used to update items in a Podio workspace via AJAX request. However, I'm having a bit of a hard time understanding how to properly generate an API key...
In the API key generator, it asks for the 'Application name (displayed in stream byline)' - what exactly is meant by this? Is 'Application' just an individual app in our workspace? If so, is it possible to generate one API key for the entire workspace? We will need to update items inside of many different apps (including apps that do not yet exist) from the same external application, and would probably prefer to not have to generate a unique key... it would be preferable for us to just have one API key with which we can update items in all of the apps in our workspace.
Application name is not Podio individual app in your workspace, but rather name of application that you develop. So, in sentence:
We will need to update items inside of many different apps (including
apps that do not yet exist) from the same external application ...
Apps - means Podio applications
External application - means application that you develop and you want to generate your API key for it, so it would be natural to name your API key in a way that you know which application is using it.
I've set up API service account access and that seems to be authenticating and connecting OK using the provided sample code (https://developers.google.com/maps-engine/documentation/oauth/serviceaccount).
I've shared my map with the provided service account email address in the Google Maps Engine UI.
Accessing the API method https://www.googleapis.com/mapsengine/v1/projects I expected to see my map in a returned list of projects visible to the service account. Instead, only an empty projects array is returned.
Ultimately my goal is to access place name and geodata stored within a layer on the map I have created in Maps Engine Lite. Is there a step I have missed or something I have misunderstood about granting API access to a Maps Engine Lite map?
Did you progress with your question?. I got one project in the list but because I singed in for a free Google Maps Engine account. That allows you to créate just one project.
But I was looking for accessing "my places" maps.
It turns out certain features, such as the ones I was looking to use, are only available on the (paid for) Maps Engine, and not "Maps Engine Lite". The API is different.
When you mention that they are just available on the Maps Engine Pro (paid for) version, do you mean that the user who owns the maps has to upgrade or yourself, as a developer that want's to access user's maps, have?.
I wouldn't mind to pay (a reasonable price) for it in order to get my app working again. But I don't think most of my app's users would.
Could you check if it worked that way?
What URL can I visit to get myself a Google API Account? While sites point to http://www.google.com/apis and talk of "easy steps", I just can't figure it out.
Background:
There are places on the web that offer google services if you give them your Google API account key (in my case http://www.freesitemapgenerator.com and index retrieval).
They say to go to http://www.google.com/apis, but that just redirects me to http://code.google.com. There are no "easy instructions" for me to follow to get an account.
Am I going crazy here? (I have analytics and webmaster tools etc activated, so I somewhat know what I'm doing).
Since December 2006, Google is no longer issuing these API keys
As far as I understand, you apply for an API key, and you can do that with any Google account. The various API's appear to require different keys. To get a key for the Maps API, visit:
http://code.google.com/apis/maps/signup.html
The products directory on Google Code lists each of the products for which Google appears to offer some sort of interaction from developers, some of which have API keys. Take a look at that page and visit the home page for each product in order to obtain a key.
Specifically, you can look at the Google AJAX API's page, which features each of the products for which an AJAX API exists.
You need to create project, as API key is associated with project. Here you can do this
https://code.google.com/apis/console/
Maybe have a look here and remember that "A single Maps API key is valid for a single "directory" or domain".