Google added a very lengthy and costly yearly verification process. New users will have to create a Google Drive API client ID and client secret.
Log into the Google API Console with your Google account. It doesn't matter what Google account you use. (It need not be the same account as the Google Drive you want to access)
Select a project or create a new project.
Under "ENABLE APIS AND SERVICES" search for "Drive", and enable the "Google Drive API".
Click "Credentials" in the left-side panel (not "Create credentials", which opens the wizard).
If you already configured an "Oauth Consent Screen", then skip to the next step; if not, click on "CONFIGURE CONSENT SCREEN" button (near the top right corner of the right panel), then select "External" and click on "CREATE"; on the next screen, enter an "Application name" ("overGrive" is OK); enter "User Support Email" (your own email is OK); enter "Developer Contact Email" (your own email is OK); then click on "Save" (all other data is optional). You will also have to add some scopes, including
https://www.googleapis.com/auth/docs
https://www.googleapis.com/auth/drive in order to be able to edit, create and delete files with overGrive.
https://www.googleapis.com/auth/drive.metadata.readonly which you may also want to add.
https://www.googleapis.com/auth/drive.appfolder which you also need to add.
If you want to add all at once, comma separated it would be https://www.googleapis.com/auth/docs,https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/drive.metadata.readonly,https://www.googleapis.com/auth/drive.appfolder.
After adding scopes, click "Save and continue" to add test users. Be sure to add your own account to the test users. Once you've added yourself as a test user and saved the changes, click again on "Credentials" on the left panel to go back to the "Credentials" screen.
(PS: if you are a GSuite user, you could also select "Internal" instead of "External" above, but this will restrict API use to Google Workspace users in your organisation).
Click on the "+ CREATE CREDENTIALS" button at the top of the screen, then select "OAuth client ID".
Choose an application type of "Desktop app" and click "Create". (the default name is fine)
It will show you a client ID and client secret. Make a note of these.
(If you selected "External" at Step 5 continue to Step 10. If you chose "Internal" you don't need to publish and can skip straight to Step 11 but your destination drive must be part of the same Google Workspace.)
Go to "Oauth consent screen" and then click "PUBLISH APP" button and confirm. You will also want to add yourself as a test user.
Provide the noted client ID and client secret to overGrive.
Be aware that, due to the "enhanced security" recently introduced by Google, you are theoretically expected to "submit your app for verification" and then wait a few weeks(!) for their response; in practice, you can go right ahead and use the client ID and client secret with overGrive, the only issue will be a very scary confirmation screen shown when you connect via your browser for overGrive to be able to get its token-id (but as this only happens during the remote configuration, it's not such a big deal). Keeping the application in "Testing" will work as well, but the limitation is that any grants will expire after a week, which can be annoying to refresh constantly. If, for whatever reason, a short grant time is not a problem, then keeping the application in testing mode would also be sufficient.
(Thanks to @balazer on github for these instructions.)
After installing overGrive, edit the overGrive client_secrets.json file on your computer:
sudo gedit /opt/thefanclub/overgrive/client_secrets.json
Replace the "client_secret" and "client_id" in the file and save.
Debian Gnome and other Gnome desktop users (excluding Ubuntu) that prefer to have the application indicators displayed on the the top bar of the desktop can do so by installing the KStatusNotifierItem Gnome Shell Extension.
Simply visit the Gnome Extensions page at https://extensions.gnome.org/extension/615/appindicator-support
Click on the toggle switch to enable the extension. You might need to log out en back in before the changes will take effect or use Alt+F2 and r as the command and press enter.
If your you cannot install the Top Bar Shell Extension you need to install the Gnome Shell Integration plugin first. For more information see http://www.omgubuntu.co.uk/2017/01/install-gnome-shell-extensions-firefox-chrome
Another way to display the icons on the top bar is to install Gnome Tweaks and then select Extensions > Top Icons > ON. This works well on CentOS 7.
On RHEL 8-9 / CentOS 8-9 use Gnome Tweaks and then select Extensions > KStatusNotifierItem/AppIndicator Support > ON. If the extension is not available, install with the following and enable with Gnome Tweaks:
sudo dnf install gnome-shell-extension-appindicator
Start the application from the dash by searching for overgrive.
Click Connect account.
NOTE: Sync options will be available after connecting your account.
A browser window will open for you to sign in to your Google account.
NOTE: Mint users there seems to be a problem on Mint regarding what default browser is set. If a browser window does not open when clicking Connect account, try the following command from a terminal window and select Firefox or Chrome as you default browser:
sudo update-alternatives --config x-www-browser
Allow overGrive permission to access your Google Drive.
Click Allow to continue.
Once connected your account email and online storage usage will be displayed.
To use another account click Disconnect account and connect the other account.
Select which local folder will be used to sync or backup to Google Drive. By default a Google Drive folder will be created in your Home Folder. Click Change to select a different local folder.
Select which Google Drive folders to sync to your computer. You have to connect an account before this option becomes available.
Choose how files and folders are removed from Google Drive.
The default Remove items everywhere will remove items to the trash folder on Google Drive when items are deleted locally.
Do not remove items everywhere will ignore items deleted locally and not delete items on Google Drive. NOTE: If the items are still set to sync, the items will be downloaded the next time you click Sync Now or changes to the files are detected on Google Drive online and Auto Sync is selected.
Ask me before removing items everywhere. When items are deleted locally, you will be asked to confirm before items are removed from Google Drive.
You can also select if you would like overGrive to convert your Google Docs to office file formats that can be edited locally.
Select which file format to use for each of the Google Docs formats.
Changes made locally to Documents, Spreadsheets and Presentations created from original Google Docs will be synced back to Google Drive as revisions of the original Google Docs.
Only backup files and folders from your local computer to Google Drive. Backup mode.
All items in your local folder will be uploaded to Google Drive.
No files will be synced from Google Drive to your local machine.
Only new items locally will be uploaded to Google Drive. If the Google Drive item version is newer than the local version, the local item will be ignored.
Item changes on Google Drive will be ignored.
Local files can be deleted without items being removed from Google Drive.
You can switch between Sync and Backup mode as required.
KDE, Lubuntu and LXDE desktop users select the Prefer Light Icon Theme if they cannot see the application icon clearly.
Click Advanced to exclude files by extension.
Add and Remove extensions as required.
All files with the extensions listed will be ignored during backup and sync.
Hidden files and folders can be excluded by selecting the Ignore hidden files and folders option.
Once you have completed setting your preferences. Click Start Sync
Your files will be synchronized to your local Google Drive folder from your Google Drive online.
Before syncing for the first time, we suggest you clear all Trash files from your Google Drive online.
The Preferencess menu will not be available while overGrive is busy with a sync.
NOTE : It is best to allow overGrive to finish the first sync completely and not make any changes while busy.
If the first sync does not complete it will open the overGrive setup screen again on restart. You can simply select Start Sync again to continue the synchronization process.
When restarting overGrive the license activation dialog will appear.
Click Activate
To activate the license enter the license activation code emailed to you, in the box provided and click Activate again.
NOTE: The license code is only valid for the Google Account used during registration.
If you get an Activation code error it is because the Google account used is not correct or the code was not copied and pasted correctly. It is case sensitive so upper and lowercase in the email does matter.
The current connected account is shown in the preferences menu.
LXQt / Xfce desktop users (Lubuntu / Xubuntu) might have an issue with the overGrive application indicator icon in the taskbar incorrectly being displayed as a ⚙ gear icon or not at all.
Enter the following commands from a terminal and restart the progam to fix the issue. You might also need to logout and login before the icon displays correctly.
sudo sed -i 's/Exec=python3/Exec=dbus-launch\ python3/g' /usr/share/applications/overgrive.desktop > /dev/null 2>&1
sudo sed -i 's/Exec=python3/Exec=dbus-launch\ python3/g' /opt/thefanclub/overgrive/overgrive-autostart.desktop > /dev/null 2>&1
sed -i 's/Exec=python3/Exec=dbus-launch\ python3/g' ~/.config/autostart/overgrive-autostart.desktop > /dev/null 2>&1
Lubuntu / LXQt desktop users that cannot open or view the Preferences > Advanced menu can install the missing MIME file type icons with the following commands from a terminal:
sudo apt install yaru-theme-icon
This article explains how to re-enable AppIndicators on elementary OS:
https://www.linuxuprising.com/2018/08/how-to-re-enable-ayatana-appindicators.html
Pop!_OS - Cosmic Desktop
Deepin - DDE Desktop
Mint - Cinnamon Desktop
KDE - Plasma Desktop
Select the "Prefer Light Icon Theme" setting in the preferences menu on KDE Plasma desktops.
Manjaro - Xfce Desktop