Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

expo-google-drive-api-wrapper

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

expo-google-drive-api-wrapper

This wrapper facilitates the use of the google drive api.

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
18
decreased by-43.75%
Maintainers
1
Weekly downloads
 
Created
Source

Fork of the react-native-google-drive-api-wrapper project, removed react-native-fs and added the expo-file-system

This wrapper facilitates the use of the google drive api.

It doesn't provide any authorization mechanism, so another package has to be used. I use react-native-google-signin (thanks for the great work guys!).

  1. Installation
  2. Usage
  3. Version history

Installation

npm i --save expo-google-drive-api-wrapper

Usage

  1. GDrive
  2. Files
  3. Permissions
  4. About
GDrive

This is the "entry point" of the wrapper. It contains only static methods and fields.

import GDrive from "expo-google-drive-api-wrapper";
  • setAccessToken()

    Sets the access token for use in subsequent calls to the api. Get the token from a package you choose to use.

     GDrive.setAccessToken(accessToken);
    
  • init()

    Initializes the wrapper.

     GDrive.init();
    

    or

     const params = {
         files: {
             boundary: String // The boundary string for multipart file uploads. Default: "foo_bar_baz".
         }
     };
     
     GDrive.init(params);
    
  • isInitialized()

    Returns true if an access token has been supplied, false otherwise.

     GDrive.isInitialized() ? <some code> : <some other code>;
    
Files
  • createFileMultipart()

    Creates a file using multipart upload. Returns the result of fetch(). If contents is a base64 string, set isBase64 to true.

     const contents = "My text file contents";
     // or
     const contents = [10, 20, 30];
     
     GDrive.files.createFileMultipart(
         contents,
         "corresponding mime type", {
             parents: ["root"],
             name: "My file"
         },
         isBase64);
         
    
  • delete()

    Deletes the specified file returning the result of fetch().

     GDrive.files.delete(fileId);
    
  • get()

    Gets a file's metadata or a text-file's content by ID. By default the metadata is returned. Use download() for binary files. For queryParams see "Optional query parameters" here. If you want the content of a text-file and not its metadata add alt: "media" to queryParams.

     const queryParams = { ... };
     GDrive.files.get(fileId, queryParams);
     
    
  • download()

    Downloads the specified text or binary file.

    For downloadFileOptions see the description of downloadFile() here. Please, bear in mind that fromUrl is set automatically and any user supplied value will be overwritten.

    The fileName parameter must be the name of the file with the base64 extension or text

    The meaning of queryParams is the same as in get().

    The function returns the result of RNFS.downloadFile(downloadFileOptions).

     GDrive.files.download(fileId, downloadFileOptions, fileName, queryParams);
    
  • export()

    Exports a google document, returning the result of fetch().

     GDrive.files.export(fileId, mimeType);
    
  • getId()

    Gets the id of the first file with the specified metadata. The function returns a Promise. It's rejected on failure and resolved to the file id or undefined (if nothing is found) on success.

     GDrive.files.getId(
         name: String, // The name.
         parents: [String], // The parents.
         mimeType: String, // The mime type.
         trashed: Boolean // Whether the file is trashed. Default: false
     );
     
    
  • list()

    Lists or searches files returning the result of fetch().

     GDrive.files.list({q: "'root' in parents"});
     
    
  • update()

    Updates a file's metadata. returning the result of fetch().

     GDrive.files.update("file_id", {
         removeParents: "o_parent_id",
         addParents: "parent_id",
         resource: {
     	modifiedTime: new Date(Date.now()).toISOString(),
         },
     })
    
  • safeCreateFolder()

    Gets the id of the first folder with the specified name and parents, creating the folder if it doesn't exist. The function returns a Promise that is rejected on failure and resolved to the folder id on success.

     GDrive.files.safeCreateFolder({
         name: "My folder",
         parents: ["root"]
     });
    
Permissions
  • create()

    Creates a permission for the specified file returning the result of fetch().

     GDrive.permissions.create(
         fileId, {
             emailAddress: 'example@gmail.com',
             role: "reader",
             type: "anyone"
         }, {
             emailMessage: `I shared a file with you.`,
         });
     
    
  • delete()

    Delete a permission returning the result of fetch().

     GDrive.permissions.delete("fileId", "permissionId");
    
About
  • get()

    Gets information about the user, the user's Drive, and system capabilities returning the result of fetch().

     GDrive.about.get({
         fields: 'storageQuota'
     });
    

Version history

Version numberChanges
v1.2.0GDrive.files.createFileMultipart()isBase64. Merge pull request #10 from duyluonglc/master. Thanks, duyluonglc!
v1.1.1GDrive.files.export() added.
v1.0.11. A critical bug with invalid imports fixed.
2. client-side-common-utils deprecated; switched to simple-common-utils.
v1.0.0Initial release.



Written with StackEdit.

Keywords

FAQs

Package last updated on 06 Apr 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc