Storing data in user's own Google Drive account - google-app-engine

Is there a way to get Google App Engine to store data in the current user's own Google Drive account?
The reason behind this is that I want to write a couple of apps that users might not be happy to have stored in a Datastore / Cloud Storage solution that someone else has access to. One example is personal health information like weight and another one is bank account and transaction information.
If I could store it in the user's own google docs account then I wouldn't have access to it and would not be able to see it.
I have found these docs:
https://developers.google.com/appengine/docs/python/howto/usinggdataservices
but nothing equivalent for Java.

This doable by using the Google Drive SDK.
From there you can find DrEdit, which is a sample Google Drive app written in Java using the Google App Engine.

Related

What is the cost of reads/writes to Google Drive from Google App Engine?

I'm trying to cost a model where my app in GAE reads/writes data on behalf of my user, who is logged in with his/her Google Account.
After asking the user permission to use his/her Google Drive, I expect to get a token that I'll be able to use to make API calls to Google Drive.
What is not clear to me is whether I will be billed for reads and writes to that Google Drive on behalf of the user. There will be ingress & egress between GDrive and GAE as the user calls my GAE APIs.
What are the costs to be expected and is there any difference based on the region where my app is deployed?
Google Drive cost is only associated to storage size.
App Engine cost is described here. You will be billed by running instances, use of the Search API and other resources. Read the details and focus on the ones you intend to use.
APIs are free but have a limited quota, which you have to take into account, as you can see here for Management and Reporting APIs.

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"

Make an Android+ios+web app with profiles like facebook, using google cloud services

I am working on a project which needs to store profiles of people on the cloud.
Information includes multiple photos and multiple text fields. I don't need Messaging.
There is lot if confusion in the documentation provided Google Cloud Services.
I am confused about what storage services should I opt for out of the 3:
1-Google Cloud Services,
2-Google Datastore,
3-Google Cloud SQL
So the the things i need to confirm are:
0.Is there a storage limit on using Google cloud SQL?
1.Does Google Cloud Storage and Google cloud Datastore provide unlimited storage?
2.Can an Android user write data on the cloud. I heard from some where that the applications only have access to read the data and the developer needs to put the data as blob on the cloud him self when using Google Cloud Services. Is this fact true for all the 3 storage services.
3.Is the data fully 'Sharable'+'Searchable'?
In other words:
If an Android user stores data in cloud in Google Datastore(text)+Google Cloud Storage(image), can this data be accessed by another android user without any headache of permissions or authentication(after I authenticate my app/app-engine)?
4.Is it the best option to store the images in Google Cloud Storage and their URLs in Google Datastore?
5.Does all the three storage services need app-engine to work?
6.Are any limitations on each of these services?
(0) Cloud SQL has currently a limit of 250Gb.
(1) With regards to Cloud Storage, there isn't a limit you could reach.
(2) and (3) They're not created for easiness of searchability. They should be accessed through applications, that are authorized, i.e. is not a substitute to Google Drive or Dropbox.
If you're the owner of the project, you can "browse" the contents of your Cloud Storage, but it's not meant for that.
Furthermore, objects in Cloud Storage can't be modified once created. A change needs to create a new copy of the object.
(4) It's a good idea, and something is used by many developers who have their applications in Google App Engine.
(5) No, they can exist without you using Google App Engine, but as I said earlier, you'd probably need an "application" to allow your Web/Android users to interact with the data, and there's where GAE comes handy.
(6) Yes, your budget.
If you provide a more detailed use case, I could tell you what you'd need to do to get it done with the whole array of Google Cloud products.

Uploading images to Google platform

I am writing an Android application that allows users to upload and share photos. The server is based on Google App Engine. App Engine's datastore does not allow to save file, so currently I just have URLs saved. Looking for a way to store files I read about Google Cloud Storage. My question is - if I'm looking for a host for user uploaded files, is Google Cloud Storage what I'm looking for?
Yes. Google Cloud Storage is the way forward. There is also the BlobStore API on App Engine that allows you to store large amounts of information but the road map seems to be clear i.e. use Google Cloud Storage moving forward.
The reason for going with GCS will also be influenced that eventually you might want various tools or utilities that people have written that work directly with GCS. With Blobstore API, you will need to write those utilities yourself or rely on Admin console's support for taking backup,etc - which is not really much.
In summary, go with GCS.
Yes thats what you want. Says the same if you read the docs about google cloud storage.

Cloud apps and Google Drive

I have an a application running on top of AppEngine, and all the data is on the cloud. For the user's point of view, it is like a Google Spreadsheet. The user can "open" a "file" representing his data, update and share. All data is stored at datastore, and not on a file itself. Is more like a google spreadsheet or google document than a jpg or dwg file. Is it possible to integrate with google drive and do some actions from drive interface, like delete, share or rename, making drive call my application? If no, are there any plans to do this kind of integration?
Cheers,
Mael
Check the Google Drive SDK to integrate your app with Drive: https://developers.google.com/drive/
The Java sample app is also running on App Engine: https://developers.google.com/drive/examples/java
is this http://code.google.com/p/gdata-python-client/ what you are looking for?
the gdata to connect other google services?
the "Google Documents List Data API" might be what you are after.

Resources