1.0.12 • Published 5 years ago
react-native-gdrive-api-wrapper v1.0.12
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!).
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
- [GDrive](#gdriveapiwGDrive)
- [Files](#gdriveapiwFiles)
- [Permissions](#gdriveapiwPermissions)
[GDrive](#cgdriveapiwGDrive)
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.
orGDrive.init();
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](#cgdriveapiwFiles)
- createFileMultipart() Creates a file using multipart upload. Returns the result of
fetch()
. Ifcontents
is a base64 string, setisBase64
totrue
.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);
Deletes the specified file returning the result of
fetch()
.GDrive.files.delete(fileId);
Gets a file's metadata or a text-file's content by ID. By default the metadata is returned. Use
download()
for binary files. ForqueryParams
see "Optional query parameters" here. If you want the content of a text-file and not its metadata addalt: "media"
toqueryParams
.const queryParams = { ... }; GDrive.files.get(fileId, queryParams);
Downloads the specified text or binary file. For `downloadFileOptions` see the description of`downloadFile()` [here](https://www.npmjs.com/package/react-native-fs). 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);
[Exports](#https://developers.google.com/drive/v3/reference/files/export) a google document, returning the result of `fetch()`. GDrive.files.export(fileId, mimeType);
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](https://developers.google.com/drive/v3/reference/files/list) 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](#cgdriveapiwPermissions)
- create()
[Creates](https://developers.google.com/drive/v3/reference/permissions/create) a permission for the specified file returning the result of fetch(). GDrive.permissions.create( fileId, { role: "reader", type: "anyone" });
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.