How to process gdoc spreadsheet in the Google App Engine? - google-app-engine

I have a app on the GAE. And need save entries of spreadsheet which is located in the Google docs to database. I assume that StringIO, xlrd, gdata-api can help to implement it. But it seems that the method gd_client.Export of gdata-api is not provided file parameter. Only provide file_path argument. Unfortunately the App can't create a file on the GAE.
Do you know that how to save the spreadsheet to GAE's database?

Related

How to import Google Sheets Data Into MongoDB from any link?

Context
I'm a web development beginner building a MERN stack web-app to help school clubs manage applicants. I want users to be able to input a link to Google Sheet generated from their Google Form and be able to see a cleaner, properly formatted version of their data.
Exploration
From my research, it looks like most solutions:
Involve people wanting to automate their own sheets (and therefore being able to use the Google Sheets script editor)
Make use of Tabletop.js, which will soon be deprecated. I looked into PapaParse but really couldn't figure out how to solve my problem using it.
Use MongoDB Stitch, which also relies on accessing the Google Sheets script editor
Require users to download the file as a CSV file (which is non-ideal for live updates)
It also seems like the Google Sheets API requires the user to have access to the script editor? I might not be interpreting the docs correctly. Would having users authenticate/login to my web app through Google be able to overcome this problem?
My Goal
User pastes the link to their Google Sheets (with view access or published to the web) in my React app
My React app parses the Sheets data and stores it in MongoDB Atlas
[Optional] Update the MongoDB database whenever the original sheet is updated (There is no need for MongoDB to communicate back with the sheet.)
Thank you, any help is much appreciated!
Try out Zapier.
It has a Google Sheets + MongoDB integration.
https://zapier.com/apps/google-sheets/integrations/mongodb
One way you could possibly achieve this is to:
link your Google Sheets account to Zapier, then
collect the links through your React app,
duplicate the sheet from that link
set Zapier to watch for that trigger when a new sheet is duplicated, to pass on the data to MongoDB

Can Google Sheets be used as "Multi-user" database?

Say I have an App and I want to use Google sheet as my backend database.
Can I let the different users use their own Google sheets by logging in their own Google account?
I read some articles about using Google sheet as a backend database, but almost all of them are about creating the Google sheet with your own Google account.
I know Google Drive can let you save user-specific data to user's own space. I am not sure if Google Sheets can do a similar thing.
that's a very abstract question, but yes (it depends). after that, all you need to do is collect all the data into a master spreadsheet with IMPORTRANGE formulas:
=IMPORTRANGE("URL-or-ID", "Sheet1!A1:Z")

Trying to upload a file into google app engine using Blob

I am trying to upload the file into google app engine from where I would like to retrieve it and then perform conversion into a pdf file. I want to have a cloud access so I am deploying this project. But I dont the best way to go about it. Can anyone help please ? Or is there any solution to directly convert the file while being on the server ?
I don't think there are any ways to convert a file directly on the server. But to store and retrieve, you might want to take a look into the Google Cloud Storage client library (and the one from Python, if needed).
These might help as well (Java and Python). From there you can easily save a file, then retrieve it. Once you retrieve it, do your conversion to pdf and voila!

Google Cloud Datastore and reports/administration

I'm quite new to Google App Engine and it's cloud Datastore which is used for storing the backend's data by default. As far as I realized you can only view it's content within the developer console and you can create or edit entities there.
But is there any external tool from which you can connect to your datastore to create reports or administer the data? What is your experience?
In fact yes it's true you can only see data's from the admin console.
If you wish to see your data's in Google Drive Table and make a report you can, but for that you need to create a connector to your sheet (I already made one). It's exactly the same if you need update or import data's to your datastore.
I use this Technic to upload or refresh products on my e-shop GAE app.
In general if I need to see a report, I design a specific web page for that and I protect theme via a login / password. To see a well formatted report you can use jquery library or use Google Charts

Is it possible to get a data source URL of Google Spreadsheets for appengine datastore entities?

Is it possible to get a data source URL of Google Spreadsheets for appengine datastore entities? I want to use the google visualization query objects to query my datastore. Or how I an expose my datastore with a datasource URL.
And for a Google visualization based project which one is better between Google Spreadsheet and GAE big table. Since Google Spreadsheet has very good query options and a nice harmonics with google visualization. One can get a direct DataTable from a data source URL. To do the same thing needs a good amount of task with GAE big table. Please share your experience in this area.
There's nothing built in to do this. You'll need to write your own code that returns your data in a format GViz supports.

Resources