Generate json key for Google Cloud permissions - google-app-engine

I have a project and wish to generate a new json key for my service account. I need to do it from app engine via the sdk. Is this possible; I can't find the library? Or can it only be created manually in the console?

There is only one API that lets you manipulate the projects on Google Developer console its called Google Cloud Resource manager API. Here is some notes on my testing of it. Google Developer console API
This API is still in BETA and very new. currently all it lets you do is insert update delete list and get projects. You cant do anything with the settings of the project.
I have been unable to track down any kind of support forum or request forum for this API. It would be nice if they would extend it so we can make changes to the consent screen, oauth credentials and API settings. Not to mention check the Quota programmatically.

Related

Google App Engine Access Cloud Datastore from Different Project

I have been trying to find a solution to accessing a datastore in one project from a different google app engine project. I went through the tutorial on accessing a datastore from a different project's compute engine, however, this is not what I am looking for. What is required here is accessing a datastore on one project from a different app engine project. Has anyone done this successfully? Any ideas?
Cheers
As #Patrice says, this is possible by using the Remote API for Java (or for Python), which lets you access different App Engine services from any other application, as stated in the documentation.
For a more specific information on how to access the Datastore remotely with the Remote API, please take a look at this article from the documentation that explains step by step all the procedure.
Please, take into account that if your Google account is configured to use 2-Step Verification, you will need an App Password that authorizes the app to access your account resources.
there is actually an API that lets you make calls to App Engine services from anywhere, even from another App, as long as the credentials are ok, it's called the "remote API"

Unable to enable billing for Google App Engine application - Error enabling cloud integration

Having created a number of Google App Engine applications and later enabled billing via the App Engine interface in the past, I am now unable to do this for a new application since it appears that new App Engine applications now must be administered through the Google Developer Console.
Within the Google App Engine interface (appengine.google.com), it informs me:
Billing for this application is managed from the Google Cloud Console.
and then further directs:
Create a Google Cloud project as well as a Google Cloud Storage bucket and a new style service account for this application
however every time this is attempted it reports:
An error occurred when creating the project. Please retry.
If I instead access the Google Developer Console (console.developers.google.com), I can see that a new project has been created (presumably from the above action) for this application however if I try to open it I receive the message "You do not have sufficient permissions to view this page." and yet I am the admin account and presumably created this project. This leaves me unable to administer or enable billing for the application. My other applications are all listed in this interface and I can freely open them and see their details, it is just the new project.
Is it possible to either correct the permissions for this application so it can be accessed from the Google Developer Console or can I instead have the billing for this application controlled and enabled from the Google App Engine interface?
I am happy to privately provide the Google application-id if this is required for further diagnosis.
Any help would be much appreciated.
Thanks in advance
Further Note: I have come across this which could be related, https://code.google.com/p/googleappengine/issues/detail?id=9602, which indicates there has been problems in the past with this facility but Google have marked this issue closed.

View all requests on Google Cloud Console?

I just started using Google Cloud Console.
Even without creating any instance either on Compute Engine or App Engine, I see few request received by Google on my project. I am guessing these are the calls made by Google to set up my project. Found them on the main project homepage.
Is there a way for me to see all requests Google received for my project?
Thanks!
For Google Compute Engine, you can access them by going to "Operations". You can click on the Operation to get details about it.

How credential and google cloud storage work?

I am just starting to develop GAE web application. I am trying to get a list of bucket of google cloud storage. I found some code from web site.
there are 3 ways on the web what I found.
using Google storage API
https://code.google.com/p/google-api-java-client/source/browse/storage-serviceaccount-appengine-sample/src/main/java/com/google/api/client/sample/storage/appengine/serviceaccount/StorageSample.java?repo=samples&r=f0c6982b3cde8629511346641bfe4bb5eb28d73f
using Json liblary
but thsi sample needs to configure domain verification for bucket.
using python
our exisiting application is developped by gae for Java. I do not think thie python way can include in Java application.
then I would like to fix No1 way.
It show credential error. Buckets are authorized to everyone (All Authenticated Users )for now. I think I need to understand how the credential works. I have read the google developer page about 0Auth2. I could find a sample of bigquery. if you have a sample or good web sites about credential and google cloud storage, it will be great helpful.
the errors;
Error: com.google.api.client.googleapis.extensions.appengine.auth.oauth2.AppIdentityCredential.(Ljava/util/Collection;)V
what i did at API console:
creating client id (web application, service account, installed application each)
creating Simple API Access ( new server key , new browser key)
what I did at local machine;
Set ACL with gsutil
my developing environment
eclipse 3.6 helios ( Japanese language pack)
gae java for eclipse
gae 1.8.0
java 1.6.31
google storage API
google client library
others(tomcat,maven)
windows 7 English with Japanese language pack
Your first attempt (number 1) is the best way to focus on getting this to work. The code sample Marc provided uses the built-in App Engine App Identity module to securely identify the App Engine app to other Google APIs: https://developers.google.com/appengine/docs/java/appidentity/#Asserting_Identity_to_Google_APIs
However, there are 2 gotchas to check:
The App Identity module will not work using the local devserver. When running locally there is no way for the local server to securely identity itself to Google production APIs - so you should either look at using a service account with a downloadable key for local testing, or, easiest option (and what I'd recommend for now), is to deploy into a production App Engine environment to test.
Make sure the App Engine service account email address is added to the access control list for the Google Cloud Storage bucket that you are trying to access. Get this email address by looking under the Admin Console (for your App Engine app) -> Application Settings:
Service Account Name:
xxxxxxx#appspot.gserviceaccount.com
To add this to a Google Cloud Storage access control list, either add it to the project team for the project that owns the Google Cloud Storage bucket, or, if you're not using the default access control settings, add it directly to an ACL:
https://developers.google.com/storage/docs/accesscontrol
Service accounts with downloadable key - use this for local testing if you can't test in a production App Engine environment:
https://developers.google.com/accounts/docs/OAuth2ServiceAccount

Integrate Google Wallet with Google Apps Script?

I have been developing an event registration form with Google Apps script. The form is required to add the data entries to a Google spreadsheet and process orders with Google Wallet. I have tried using HTMLServices, but it did not work. Is there any way to integrate Google Wallet dynamically in the Google Apps Script service? If not, will I need to use the App Engine? And what language would be best?
You'll need a server component to handle callbacks from Google after the Wallet transactions. The server handler must be able to process XML or JSON depending on the API used.
If you're using the Google Checkout API, have a look at:
https://developers.google.com/checkout/developer/Google_Checkout_XML_API_Notification_API
https://developers.google.com/checkout/samplecode
If you're using the Wallet for digital goods API, have a look at:
https://developers.google.com/commerce/wallet/digital/docs/postback

Resources