Reconnecting a Google Account Due to Scope Changes

Google has re-classified one of the scopes our app uses (https://www.googleapis.com/auth/drive.metadata.readonly) as "restricted" (very sensitive).  Google highly recommends not to use this scope if it can be avoided (in our case, it can be avoided as explained in the FAQ section below).

Due to this change, you'll need to disconnect EZ Exporter from your Google account to revoke its access and reconnect it in order to get new credentials with less sensitive scopes.

The steps below are necessary if you use our Google Drive or Google Sheets integrations.

Step 1. Disconnect EZ Exporter from Google Drive (https://drive.google.com)

This step will also disconnect the app from Google Sheets, so it's the same step for both Drive and Sheets.

Important 1: Only disconnect via Google Drive, don't delete the entry in EZ Exporter (this entry will get updated automatically with new credentials/tokens when you reconnect the account in Step 2).

Important 2: You should only do this once per Google account.  If you have multiple stores using the same account, you just need to do Step 2 for each store after disconnecting the account once.

Step 2: Click the "Connect Google Account" button via Integrations > Google Drive and/or Integrations > Google Sheets

This will request new credentials/tokens from Google with new scopes.

Under the "Scopes" column of the Integrations > Google Drive/Sheets page, you'll notice the scope https://www.googleapis.com/auth/drive.metadata.readonly is removed and the scopes openid, https://www.googleapis.com/auth/userinfo.email are added instead.

Extra Step: Only if you're using Google Drive AND overwriting a file with a shared link (doesn't apply to Google Sheets)

Because of this change, EZ Exporter won't be able to overwrite previous files created by the app.  The next export will create a new file (Google Drive allows identical filenames) and that file will then get overwritten in future runs.

So you might need to create a new shared link of the new file created after this change if you're sharing this file with other parties.

If you're always creating new files at every export (i.e. if you timestamp filenames), then this is not a concern.

FAQ

1. What was the old scope being used for?

The https://www.googleapis.com/auth/drive.metadata.readonly scope was being used to get basic Google account info (such as your account email) in order to display in the app which account you've connected.

To get basic Google account info, we're now using the following scopes which are classified as non-sensitive:

  • openid
  • https://www.googleapis.com/auth/userinfo.email

The old scope was also necessary previously when using Google Drive to figure out the Folder ID based on the folder path the user specified (the folder ID is required in the API request when uploading files).  The app was basically searching Google Drive for a folder matching the name specified by the user and then retrieve its associated folder ID.

To get around this, we've updated the app to now require users to enter the Folder ID directly which can be found via the Google Drive URL.

2. What happens if I don't reconnect my account?

Pushing data to Google Drive or Google Sheets will result in "authentication failure" if you don't do this as Google will automatically revoke credentials that use the now restricted drive.metadata.readonly scope around late March 2024.


App: EZ Exporter

Tags: google drive, google sheets