๐Ÿ’ฟ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.

    Skip scopes as we configure that within our sdk.

  • Click on Credentials in the left menu and select + Create Credentials

  • 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.

Note: If using Android, in order for Google Authentication results to be properly handled by your Activity, you'll need to register function within your Activity.

 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)

    if (portal.backup.drive.auth.onActivityResult != null) {
      portal.backup.drive.auth.onActivityResult!!(requestCode, resultCode, data)
    }
  }

Last updated