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
3.Documentation
AuthFailed
Event invoked when authentication fails and returns the error message
errorMessage | text
AuthSuccess
Event indicating that authentication was successful and returns the necessary credentials
displayName | text
email | text
photoUrl | text
FileDeleted
Event invoked after 'DeleteFile' method with result which will be either true(boolean) or the error message
result | text
FileDownloaded
Event indicating that file has been downloaded and returns the file's path
filePath | text
FileUpdated
Event indicating that file has been updated and returns the file's id
fileId | text
FileUploaded
Event indicating that file has been uploaded and returns the file's id
fileId | text
FolderCreated
Event invoked after creating folder and returns the newly created foder's id
folderId | text
GotError
Event invoked in most of cases when an error occurs and provides the error message
errorMessage | text
GotFileInfo
Event invoked after getting file's info as a dictionary
infoDictionary | dictionary
GotFilesList
Event invoked after getting files list which is a dictionary having file name as key and id as value
files | dictionary
CreateFolder
Creates folder in parent folder (App Data Folder if set to empty)
parentId | text
folderName | text
DeleteFile
Deletes the specified file
fileId | text
DownloadFile
Downloads specified file to the given path
fileId | text
downloadPath | text
GetFileInfo
Gets info of given folder/file from its id
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
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
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
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
Is it safe?
Yes, app/extension will not request for any sensitive data.
It gets following information, on the consent of user:
- display name
- photo url
These are usually public for a Google Account
6.Demo Video
Hope it helps!