GDrive: Just a Google Drive(App Data Folder) extension [$8 or INR 551]

1.Introduction

Description: Using this extension you can use user’s App Data Folder of Drive.
Latest Version: 1
Released: June 18, 2021
Last Updated: June 18, 2021
Permissions: android.permission.READ_EXTERNAL_STORAGE,android.permission.WRITE_EXTERNAL_STORAGE,android.permission.GET_ACCOUNTS,android.permission.MANAGE_ACCOUNTS

Note: You may not need to ask any of the above permission

2.Blocks

image

image

image

3.Documentation

AuthFailed

Event invoked when authentication fails and returns the error message
Params

errorMessage | text


AuthSuccess

Event indicating that authentication was successful and returns the necessary credentials
Params

displayName | text
email | text
photoUrl | text


FileDeleted

Event invoked after 'DeleteFile' method with result which will be either true(boolean) or the error message
Params

result | text


FileDownloaded

Event indicating that file has been downloaded and returns the file's path
Params

filePath | text


FileUpdated

Event indicating that file has been updated and returns the file's id
Params

fileId | text


FileUploaded

Event indicating that file has been uploaded and returns the file's id
Params

fileId | text


FolderCreated

Event invoked after creating folder and returns the newly created foder's id
Params

folderId | text


GotError

Event invoked in most of cases when an error occurs and provides the error message
Params

errorMessage | text


GotFileInfo

Event invoked after getting file's info as a dictionary
Params

infoDictionary | dictionary


GotFilesList

Event invoked after getting files list which is a dictionary having file name as key and id as value
Params

files | dictionary


CreateFolder

Creates folder in parent folder (App Data Folder if set to empty)
Params

parentId | text

folderName | text


DeleteFile

Deletes the specified file
Params

fileId | text


DownloadFile

Downloads specified file to the given path
Params

fileId | text

downloadPath | text


GetFileInfo

Gets info of given folder/file from its id
Params

fileId | text


IsAuthorized

Returns whether user has signed in and granted access or not.
It must be called before using any other method except LaunchAuthFlow.

Return type : boolean


LaunchAuthFlow

Launches auth flow to get access from user

ListFiles

Lists files present in specified folder with given filter i.e. includeFolders
Params

folderId | text

includeFolders | boolean


RevokeAccess

Revokes access and signs out the user

SignOut

Signs out the user from app

UpdateFile

Tries to update the already existing file
Params

fileId | text

newFilePath | text

newMetadata | dictionary

For example:


For now you can only update name and description.


UploadFile

Uploads files to specified folder,if folderId is empty then uploads to root of app data folder
Params

folderId | text

filePath | text


Docs generated with DocsGenerator Tool

4.Buy/Donate

Kindly PM me.

5.How does extension work?

Get Access to App Data Folder of User's drive

First of all to access a google service we need credentials from google (will be discussed next) and consent from user.
This is how we get consent from user:

Since all the authentication happens by Google Sign In activities so app/extension will be able to access data which was granted by user.

Scopes Requested
The extension works with App Data Folder so the only requested scope is DriveScopes.DRIVE_APPDATA.
It does not allow any app/service to read/write files outside of the folder assigned to it by Drive.
However, there is no any other limit so app can do whatever it wants with that specific space.

Create OAuth Client for your app

To get Google verify your app to use Drive you need to register your app in Google Console, for which steps are given here: GitHub - mesadhan/google-drive-app: Google Drive API with Android

https://www.youtube.com/watch?v=y2HTAoyYrss

Is it safe?

Yes, app/extension will not request for any sensitive data.
It gets following information, on the consent of user:

  • display name
  • email
  • photo url

These are usually public for a Google Account

6.Demo Video

Hope it helps! :slightly_smiling_face:

10 Likes

Finally :sunglasses:

Was waiting it to support kodular :grin:

After kodular update many things are sorted now :innocent:

3 Likes

@vknow360
are these permissions necessary to Extention work?

Sorry, somehow I wasn’t able to reply back then.

Absolutely not.
You can check yourself by not asking any of the permissions mentioned above.