I want my android app to access a specific acount [not the user's account] and download a file. Is this possible?
To use google docs you need a google account.
This does not require you to have a google mail account.
With this URL you can make yourself a google account using your own email adres:
https://accounts.google.com/NewAccount?continue=https%3A%2F%2Fdocs.google.com%2F%23&followup=https%3A%2F%2Fdocs.google.com%2F&service=writely<mpl=homepage
Good luck,
Thomas van Latum
This is generally possible using Service Accounts. Service Accounts however may not be used directly from Android applications, as Android wouldn't be able to protect your private key file.
A workaround would be to have a web application yourself that queries the data from Google using a Service Account and only connecting to your web application from Android. How you make sure that only your client can access your web application is then however in your responsibility.
What I was looking for, namely freemium cloud services, is better served by Google appEngine or Azure or Amazon or Apple cloud Freemium deals etc. Note that these are usually easy to implement but there are many scaling issues that should affect the decision. Importantly there is high cost in moving from one cloud platform to another because the code is idiosyncratic and useless outside the specific cloud.
Related
Good day everyone.
I am desperately in need of rich and straightforward answers. So, Please For Your Help.
I am building for the first time an android application to access diverse files on mobile devices. My idea is to have a client app on the device and an application server on Google App Engine that search effectively the files and answers the client app. I also consider having a data store in Google cloud to store all the files. This might not really make sense because I am not very sure of the way Google cloud works but, may be you can help me with a better proposal to make sense out of it all. Another point is how to make the client app accessible to multiple users in order for them to also use the system and access the files. Is it by publishing the client app in Google play?
Thanks in advance for your prompt response.
This question is a bit too broad for Stack Overflow, but here are some pointers to relevant features:
The Google API client for Android has everything you need to make authenticated requests to your Cloud services, including your custom app on App Engine: https://developer.android.com/google/auth/api-client.html
You can use Google Cloud Endpoints to create the server API for your mobile clients: https://developers.google.com/appengine/docs/java/endpoints/
Depending on how you want to structure your app, it might be useful to interact with Cloud Storage directly, such as for uploading and downloading the files: https://cloud.google.com/products/cloud-storage/ https://developers.google.com/storage/
Here's an introduction to publishing your Android app to the Google Play store: http://developer.android.com/distribute/googleplay/start.html
Good luck!
In my android application I want to store images from my Android application to Google Cloud Storage. For that I'm referring to this Mobil Backend starter example. In that they have a backend database which is deployed on Google Cloud Storage, but I don't know I can deploy my own database there.
What are the steps to query the database in my android app? Please help me to implement this functionality. Can anyone suggest a tutorial or link which provides proper guidelines for using and storing DB on Google Gloud?
Thank you.
If you are writing your own App Engine application that needs to use storage, you have several options in the Google Cloud:
The Mobile Backend Starter using the Datastore API, that provides a NoSQL like datastore in the Google Cloud that your App Engine application can interact with via the Datastore API. By default you get a total of 1GB of space in the free tier, after which you have to pay per use for your storage requirements.
There is the Cloud Storage API, that allows you to save objects to Google Cloud Storage Service. This service is analogous to Amazon S3 service and you can save your data, classified into groups i.e. buckets. This is a paid service. Refer to https://cloud.google.com/products/cloud-storage/
If you prefer to deal with SQL, you can look at Google Cloud SQL, which gives you a MySQL Instance in the cloud. This is a paid service too. Refer to https://developers.google.com/cloud-sql/
Finally, if you application prefers that you use the Google Drive account of the User itself, then you can look at directly integrating with Google Drive API. Recently Google introduced good updates to their Android Drive API. https://developers.google.com/drive/android/
In all the above cases, when it comes to interacting with the App Engine application, it is advisable that you expose the Data Services via a REST like API in your App Engine application.
Using Google App Engine allows you to setup a local Datastore for testing. When you deploy your App Engine code, it will create the same Datastore on App Engine too [without the data]. Basically, if you follow the steps in the link you have mentioned it will setup Eclipse and App Engine, the App Engine service does not run inside your Android ecosystem. It can be modelled as a REST based URL server, where you can define Endpoints as mentioned here: Java GAE
As for tutorials: Default Google Docs!
I have a full app here, almost full application! Sample App
Sorry for my English(I am not good in english please excuse).
I am working as a android application developer.I try to developing one application with backend support that means i want to use (web services) inside of the application.For that one i am trying to use google cloud for storing my data and access that data in json formt.It is possible to use that cloud data inside of my application.
For storing data in cloud they charge me something?
Please any one help me experts....
Thanks in advance...
At the onset, what you are trying to do is possible within App Engine. To summarise, you want to access some of your data that is stored using one or more of the available choices in the Google Cloud Platform and expose that over a Web Service running in your App Engine app.
When it comes to exposing your existing functionality over REST+JSON, Google Cloud Endpoints is a great way to get started, though nothing prevents you from rolling out your own.
For storage, there are several options and while you need to be mindful of the quotas/pricing, a great deal depends on which mechanism you want to employ as far as your storage API is concerned
Google Datastore API and Blobstore : The Google Datastore API is a non-relational database. The Blobstore is for storing large amounts of data (think images/videos). You have a free quota of 1GB for Datastore and 5GB for Blobstore within your App Engine application quota.
Cloud SQL : If you want to use a relational database , you can use Google Cloud SQL too. The pricing is mentioned on the page.
Google Cloud Storage : This is another storage option available with a Java client API. The pricing is mentioned on the page.
Google Drive : If your application is more of a personal nature and you wish to store some data within a Google Drive account of the user, you could look at that too.
Keep in mind that all these options are available as part of the Google Cloud Platform.
Hope this helps.
i'm going to develop a sort of cloud based application. Since I develop for hobby, I don't want to pay a server.
I'm wondering if Google or Facebook allow user to sync sqlite OR json databases through their server. For example: I'd like to sync - after the Google+ app login - the data of my app, so that the same person, on his tablet, can use the data he produced on the smartphone. Can anyone point me out some documentation that explain me what services should I use and how? Thanks.
With every Google account comes Google Drive. That link leads to the documentation for their API, but you will want to use their libraries as I presume.
Basic understanding of OAuth workflow can be beneficial.
I recently bought an Android device. Now I'm wondering if can I mimic protocols it uses to communicate with Google servers?
I basically want to setup some kind of "Google account", which wouldn't be served by Google, but would be fully compatible with Android devices. So, does Android use some kind of WebDAV protocol for accessing things like calendar, contacts? What kind of protocol does it use for mail (is it IMAP, as I would configure my account on a PC or some other Google-only-knows-what-is-it protocol?)
Or do I just have to mimic GData protocols?
Is there even a way to change host which Android talks to?
I know that there are things like Google Apps. They allow you to setup your own, very little part of Google, which AFAIK can be connected to Android device (you just have to create an Google account with your domain after username, I suppose), but everything's still hosted on Google servers and Android still talks to Google host.
If nothing works out, I could probably create some kind of service provider, which would act like those for Facebook, Twitter and Google, but for now I want to explore possibility of doing it on the server-side.
Not that I don't trust Google. I just don't really like someone handling valuable part of my life in files I don't own. Assume this question void if someone found a way of chowning files on Google servers ;).
No, you can not "redirect" google apps on Android to talk to your servers.
Google exposes their Apps (gmail, calendar, docs, etc..) via various APIs (GDATA), so I suppose their Android apps use those.
Even if you "mimic" those protocols, you could not redirect the apps, because AFAIK they use SSL.
Just create your own client and server software, secure the connection via SSL and you are all set. You even don't have to write the software as there are thousands open-source server apps for email, calendaring, doc sharing, etc..
If you are thinking of using Google clients without their servers and proposing a roll-your-own replacement, than you clearly do not understand the complexity of developing such a service. Do you realize there are thousands of top-notch devs working daily on this?
If you dont trust application service providers (Google, Facebook, etc..) than don't use their services. Same goes for other service providers like credit card companies, banks, mobile, telco, etc..
If you have a rooted phone it could be quite cool to mimic google server. For example by changing the calendar https url in the sqlite database to your own server.
For calendar, I guess this is Caldav, but should be written down somewhere officially.
And yes, their are caldav-sync tools for Android, but they all suck completely (Hypermatic sucks less, but it has been abandoned, and is not open source)