Miss any of our Open RFC calls?Watch the recordings here! »

react-native-google-drive-api-wrapper

1.3.0 • Public • Published

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 react-native-google-drive-api-wrapper

react-native link react-native-fs

react-native-fs is a package my code depends on and it needs linking.

Usage

  1. GDrive
  2. Files
  3. Permissions

GDrive

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

import GDrive from "react-native-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 ofdownloadFile() here. Please, bear in mind that fromUrl is set automatically and any user supplied value will be overwritten.

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

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

     GDrive.files.download(fileId, downloadFileOptions, 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"});
    
  • 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.`,
         });
    

Version history

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



Written with StackEdit.

Install

npm i react-native-google-drive-api-wrapper

DownloadsWeekly Downloads

334

Version

1.3.0

License

MIT

Unpacked Size

13.3 kB

Total Files

5

Last publish

Collaborators

  • avatar