1.2.0 • Published 1 year ago

@alehkudrevich/react-google-drive-picker v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

React-google-drive-picker

Google drive picker

Description

Google drive picker custom hook.

Getting Started

Installing

With npm

npm i react-google-drive-picker

With yarn

yarn add react-google-drive-picker

Usage

import  { useEffect } from 'react';
import useDrivePicker from 'react-google-drive-picker'


function App() {
  const [openPicker, authResponse] = useDrivePicker();  
  // const customViewsArray = [new google.picker.DocsView()]; // custom view
  const handleOpenPicker = () => {
    openPicker({
      clientId: "xxxxxxxxxxxxxxxxx",
      developerKey: "xxxxxxxxxxxx",
      viewId: "DOCS",
      // token: token, // pass oauth token in case you already have one
      showUploadView: true,
      showUploadFolders: true,
      supportDrives: true,
      multiselect: true,
      // customViews: customViewsArray, // custom view
      callbackFunction: (data) => {
        if (data.action === 'cancel') {
          console.log('User clicked cancel/close button')
        }
        console.log(data)
      },
    })
  }


  
  return (
    <div>
        <button onClick={() => handleOpenPicker()}>Open Picker</button>
    </div>
  );
}

export default App;

Picker configuration props

Picker Props

paramsvaluedefault valuedescription
callbackFunctionfunctionREQUIREDCallback function that will be called on picker action
clientIdstringREQUIREDGoogle client id
developerKeystringREQUIREDGoogle developer key
disableDefaultViewbooleanfalsedisables default view
viewIdstringDOCSViewIdOptions
viewMimeTypesstringoptionalComma separated mimetypes. Use this in place of viewId if you need to filter multiple type of files. list: https://developers.google.com/drive/api/v3/mime-types.
setIncludeFoldersbooleanfalseShow folders in the view items.
setSelectFolderEnabledbooleanfalseAllows the user to select a folder in Google Drive.
setOwnedByMebooleanfalseFilters the documents based on whether they are owned by the user, or shared with the user. Do not combine this setting with setIncludeFolders. When setIncludeFolders(true) is set, setOwnedByMe is ignored.
tokenstringoptionalaccess_token to skip auth part
multiselectbooleanfalseEnable picker multiselect
supportDrivesbooleanfalseSupport shared drives
showUploadViewbooleanfalseEnable upload view
showUploadFoldersbooleanfalseEnable folder selection(upload)
setParentFolderstringdisabledDrive folder id to upload
customViewsViewClass[]optionalArray of custom views you want to add to the picker
customScopesstring[]'https://www.googleapis.com/auth/drive.readonly'Array of custom scopes you want to add to the picker
localestringenList of supported locales https://developers.google.com/picker/docs#i18n

viewId options

optiondescription
DOCSAll Google Drive document types.
DOCS_IMAGESGoogle Drive photos.
DOCS_IMAGES_AND_VIDEOSGoogle Drive photos and videos.
DOCS_VIDEOSGoogle Drive videos.
DOCUMENTSGoogle Drive Documents.
FOLDERSGoogle Drive Folders.
DRAWINGSGoogle Drive Drawings.
FORMSGoogle Drive Forms.
PDFSPDF files stored in Google Drive.
SPREADSHEETSGoogle Drive Spreadsheets.

Author

@Jose medina

Acknowledgments

Inspiration, code snippets