Configure GDrive storage

This is to allow your app to have access to store files in your users google drive.

Create a google app

To enable Google Drive backups you will need to create a Google Project within your organization that will act as the OAuth consumer.

  • Create a new Google project in the Google Cloud Console

  • On the APIs & Services page click ENABLE APIS AND SERVICES

  • Search for Google Drive API, select it, and click Enable

  • Click on OAuth consent screen

    • For user type select internal.

    • Fill out the relevant information.

  • Our SDK requires these scopes

DRIVE_FILE: "https://www.googleapis.com/auth/drive.file"
DRIVE_APPFOLDER: "https://www.googleapis.com/auth/drive.appdata"
  • Click on Credentials in the left menu and select + Create Credentials

Before going to production, you'll need to verify your application and update your User type to External in order to allow external users to authenticate with Google.

  • Select OAuth client ID and choose Android from the Application Type list

  • Fill in the form as instructed, with Name, Package name, and SHA-1 from your Keystore.

    • Note that when testing you'll want to use your debug.keystore at /android/app/debug.keystore; However, you'll need to switch this value when pushing it to the store.

    • Find the Sha-1 fingerprint with this command from the root project folder: keytool -keystore ./app/debug.keystore -list -v

  • Once you have successfully created your Android Client ID , download the JSON, and rename it to begoogle-service.json

  • Move the downloaded file into the /app directory (or the /android/app directory if you're using React Native).

  • Click on Credentials in the left menu, select + Create Credentials again, and select Oauth client ID again. Then select Web Application as the Application type.

  • Input the Name. Then click create and copy the value from Your Client ID.

  • This value is what you will pass into the PortalOptions config when instantiating your Portal class.

  • Add emails for internal testing until you've published your app for external use.

Useful Google Resources

Should I set scopes in the OAuth Consent Screen?

  • Our backup method does not require any sensitive or restrictive scopes as defined by google; however, setting scopes for your application will limit the functionality to only what is required from the permission if the temporary auth token was to get compromised. It is recommended by google to register all scopes

Should I get google approval?

  • You do not need to in order to publish your app because we don't require sensitive or restrive scopes; however, if you would like brand verification you will need to get google permissions. Those times vary from a couple days to two weeks. Google docs

Last updated