Building cloud service using python google drive API - google-drive-api

Hi i'm trying to make my own cloud web service that uses python google drive API.
what i'm trying to make is basically cloud service but can also interact with Google Drive.
To do that, my web service users have to have their own 'storage.json' file in their server's virtual directory (which really stores in server).
when I somehow get my own 'storage.json' file, (I followd: https://developers.google.com/drive/api/v3/manage-uploads)
and upload 'storage.json' file to my directory like User1, upload and download with Google drive works just fine.
but my final goal is when my user doesn't have 'storage.json' file in their directory like User2, I want browser to pops up in User2's computer and User2 can follow the google's authentication flow and finally download 'storage.json' file into server's ~/User2/ directory.
Do you think this is possible? or if there are better ways, can you notice me? thank you

Related

How to view files added through Google service account?

I need to create .NET console app to upload/download files to a user's Google drive.
I tried it using service account authorization. But I am not able to view the uploaded files using web UI. I am able view the list of files uploaded using my console APP. But I would like to know whether User Google Drive and files uploaded using my APP are located in different location.

how copy files from google drive to an ftp server using google app scripts?

I have a project on Google App Scripts connected to my drive.
I was able to save and organize my files (from mail) and directories in the drive using the script.
now, I want to save the files to an FTP server and cannot find the References to do so.
how do I access an ftp server, create folders and upload files to them ?
thanks
It seems this is not possible. If you check this Class UrlFetchApp, app script only supports HTTP and HTTPS communication over the internet. A supporthing SO thread seems to confirm this.
The workaround to go from GAS -> FTP is as follows. I've been using this method for a number of years in production.
From apps script, save the file to google drive
Using Zapier, trigger to copy new filesfrom the google drive folder to a DropBox folder
Using Microsoft Flow, trigger to copy new files from the Dropbox folder to an FTP or SFTP location.
You can probably do step 3 in Zapier as well. I use Microsoft Flow because I already had a significant number of automated tasks setup there. For Step, 2, I use Zapier because MS flow does not yet have a built-in trigger available based on a new file being saved to google drive. You would have to make your own custom trigger using the google drive API's.

How to upload file directly from a server to Google Drive using the Google Drive API?

Suppose I want to write a tool which allows the user to copy a file from Dropbox to Google Drive but I don't want to download the file first to my server and then upload it to the drive. Is there a way where I can insert a file to drive by just providing a URL? I couldn't find anything in the documentation.
No.
Having said that, it isn't necessary to create a file on your server. You can buffer the content in memory.
I suppose you could send the access token to the client via a POST request. You'd have to encrypt it, of course, preferably SSL. Then the client could use the Drive SDK to upload the file directly from itself, completely bypassing your server.

viewing a local pdf file in google chrome packaged apps

In my packaged app I would like to open pdf's stored in local filesystem. I've managed to open them if I select them using chrome.fileSystem.chooseEntry, but I can't find a way to do the same if the filesnames are hard coded.
The idea behind is an app that manages book information and allows to open them if they are stored in the local filesystem. Thanks a lot!
This can't be done, for good reason. Packaged apps have a security model based on the open web. Web pages can't access your local files without your permission (i.e., without a "user gesture" or a specific user action such as going through a file chooser), and packaged apps have the same restriction.
You could import local files (again using a user gesture) into the HTML5 file system, or into chrome.syncFileSystem. Then you'd have gestureless access to the imported copies. Likewise, you could export from either of those file systems to the local file system, again with a user gesture. But the boundary between local files and your app's access to them is meant to be loud and explicit.

Google Drive upload from webserver

I'm trying to make a service that runs on a webserver and can upload files to Google Drive,
so that people can sync the files to local-drive using the Google desktop application.
So I tried the Drive API but it requires a webbrowser to authenticate.
This would be a possibility, but I don't know to get the access token programmically.
Even if I had the access token, I wouldn't know if it just works forever.. It seems to have an expire date?
I wouldn't want the service to suddenly not working, because the token has expired.
Than I learned about Service Account, and finally got it working, but it seems to have its own space that i can only access with the service account.
I don't know how to share the files from the service account to a regular account, as people need to sync it locally.
So a found a video about user impersonation, in which he showed a page about given access to a service account to impersonate another user.
But i don't know where to find this page.
Looking at: http://support.google.com/a/bin/answer.py?hl=en&answer=162106&topic=2759255&ctx=topic
It says it's in Advanced Tools > Manage third party OAuth client access (under the Authentication section).
But where is the Authentication section? Do I need to create a Google App to do this?
The question is: How upload files programmically to Google Drive without any user intervention, so that they can be synced locally with the drive desktop-application.