Are you ready for it? I am posting this even before Google has released any information about it. A fellow GDE Gerwin Sturm spotted something in the Discovery API he posted it on Google+ and someone pinged me about it. As you may know the Discovery API is a Google API that returns information about all of Googles public APIs. The discovery API isn’t pretty its used by developers to create client libraries I have extensive experience with it from my work with the Google .net client library which is generated using it. If you are curious here is a link to the new API. Google Cloud Resource Manager API this is the raw code telling us all about our brand new shiny API.
I have spent the last 2 hours testing (hacking) this, I cant wait to show you what this new API does.
What is the Google Cloud Resource Manager API
[wp_ad_camp_3]
The Cloud Resource Manager API provides methods that you can use to programmatically manage your projects in the Google Cloud Platform. With this API, you can do the following:
- Get a list of all projects associated with an account.
- Create new projects.
- Update existing projects.
- Delete projects.
- Undelete, or recover, projects that you don’t want to delete.
Are you wondering where I found that information? Well the discovery api gave me a link to the documentation. Google Cloud Resource Manager API some digging on the different pages shows that the last they where updated was June 19,2015 so they have been around at least that long.
So what does this API do? It lets us programmatic manage our Google Developer console. yes you can create new projects.
List Projects
Listing projects does what you would expect it returns a list of the projects.
{ "projects": [ { "projectNumber": "xxxxx", "projectId": "api-project-1xxxx", "lifecycleState": "ACTIVE", "name": "Android Real-Time Analytics", "createTime": "2013-10-02T19:21:14.161Z" }, { "projectNumber": "xxxxxx", "projectId": "googleanalytics", "lifecycleState": "ACTIVE", "name": "API Project", "createTime": "2012-09-14T08:07:06.906Z" },
Get a project
Getting a project I find a little strange. When I request a project using its project id it returns exactly the same information as list did.
{ { "projectNumber": "xxxxxx", "projectId": "googleanalytics", "lifecycleState": "ACTIVE", "name": "API Project", "createTime": "2012-09-14T08:07:06.906Z" }
I was hoping for more, APIs enabled, information about the quota, clients …..
Something mysterious
While I was testing I had to Authenticate the new API the scope you need to use is
https://www.googleapis.com/auth/cloud-platform : View and manage your data across Google Cloud Platform services
Here is a picture of the Authentcation window. Nothing mysterous about that you say? when I clicked on the (i) it gave me the following information.
More info
View and manage your data across all Google Cloud Platform services, such as:
View and manage your tables, datasets, and jobs in Google BigQuery
View and manage your data in Google Cloud Storage
View and manage your instances in Google Cloud SQL
Is this a scope they are reusing? or is this more functionality they will be adding in the future? Does anyone know if these features are available in another API?
My take on this new API
I am really thrilled to see Google releasing an API for the Google Developer console its something I have been waiting a long time for. This is a Beta1 so I would assume its a work in progress.
Features I am hoping to see in the future:
- List of APIs enabled
- quota status of each api
- Display of the Consent screen information ability to update it
- Credential information creating new credentials deleting old ones
- I would also like to see a read access scope currently there is only a full access scope.