Configuring Google Drive API access in UpdraftPlus

N.B. As of UpdraftPlus version 1.13.6 (free) / 2.13.6 (paid) (September 2017) we now have an offical UpdraftPlus Google Drive app. This makes setting up Google Drive for remote backups easy.

A short guide for that can be found here. If you don’t want to use our Google Drive app and prefer to setup your own then follow the instructions below.


Instructions for if you want to use a custom app

Note: Google are constantly moving around parts of their “Cloud Console”- some of the screenshots and steps may differ from those shown below if they change it again. So, please make some allowances and don’t get too confused! The screenshots below are from their current cloud console (as at Dec 2016); for screenshots/steps from a previous version (which may, or may not, be useful information for reference/comparison if you have trouble, follow this link).

Google Drive is the trickiest of the remote access methods to set up. The following instructions should see you through – but if you get stumped, then don’t fear. You can buy a setup support package from our shop; or try out one of the other cloud methods (e.g. Amazon S3, Dropbox, Rackspace Cloud Files – the easiest is Dropbox). You can also try searching YouTube for videos… various people have done them, but they may be out of date, of course (and not an official resource, so don’t blame us, etc.!).

Final note before beginning: every WordPress installation you set up should have its own, unique Google API project (that’s a unique API project, as in the notes below, not a unique Google account) . Google have not documented this anywhere, but several users have found that, once they have a lot of sites, access to their Google Drive authorisation/connection can periodically fail unless this is done. This appears to be an administrative limit enforced by Google, who prefer that large-scale users use their business-focussed “Cloud Files” product (https://cloud.google.com/storage/) instead of the consumer-focussed “Drive” product, and who will only allow you to have a certain number of active authorisation tokens (connections) at once. As such, it can’t be fixed from this end, so you will need to push your limits out further by using multiple projects, but also be aware that Google do not publish their limits and that once they are hit, you may not be able to work around them. Customer feedback shows that this limit appears to be somewhere around 25 sites – but your mileage may vary.

As of UpdraftPlus free version 1.13.6 and premium version 2.13.6 there is an offical UpdraftPlus Google Drive app that you can use, if you don’t want to use this and want to continue with the instructions below then you should first add this line to your wp-config.php file:

define('UPDRAFTPLUS_CUSTOM_GOOGLEDRIVE_APP', true);

That line will enable you to use a custom Google Drive app and show the required fields to enter your own client ID and secret.

1. Visit the Google API console, and create a new project

To allow UpdraftPlus to have access to your Google Drive account, click on the link to your API console to take you to Google; then click on “Create a Project”.

Then fill in this form (just use whatever Project ID Google suggests – it does not matter)…

2. Activate the Drive API

Open the ‘API Manager’ and find the ‘Drive API’ in the Library:

 

Note: that was Drive API, not Drive SDK. 

Follow the link, and click the ‘Enable’ button:

Google Drive Config 4

3. Set up a product name and email address

Now go to ‘Credentials’ in the left sidebar.

Google Drive Config 5

This will take you to the Credentials settings for the project. First, you will need to enter some details in the ‘OAuth consent screen’ settings (accessible through the top tabs):

Specifically, you will need to enter a product name and select an email address. If you see errors later about missing an application name or empty email address, then this is the relevant step. These details are shown back to you in step 5 (below) – Google do not use them for anything else.

 

4. Set up API access credentials (OAuth)

Move to the ‘Credentials’ tab, and click ‘Add credentials’; then click on ‘OAuth client ID’:

Google Drive Config 6

Next, enter some details:

  • Under ‘Application type’ select ‘Web application’.
  • Under ‘Name’ enter ‘UpdraftPlus’.
  • For the ‘Authorized JavaScript origins’, enter the base URL of the site. i.e. something like http://www.example.com
  • Under ‘Authorized redirect URI’, paste in the URL that was shown to you on your UpdraftPlus settings page back in your WordPress admin console: (do paste it from there – don’t copy any screenshot below)

Google Drive Config 7

 

Click ‘Create’. You will then be shown your client ID and secret.

Google Drive Config 8

5. Go back to UpdraftPlus, and enter the details

You should now have a client ID and secret created. Paste the details back into the UpdraftPlus settings page in your WordPress admin console. Save the settings.

Then follow the link that WordPress will show you, to complete authorisation. The screenshot may not be identical to the one below:


You may receive a ‘This App is Unverified’ warning. If so, click the ‘Advanced’ link in the bottom-left corner, and the ‘proceed’.

Then, you’re done.

Not yet taken a look at UpdraftPlus Premium? Read more about it here…

NOTE: If the settings test or backup fails to access Google Drive, and instead returns an ‘accessNotConfigured’ or ‘InvalidScope’ error, please try joining the ‘Allow Risky Access Permissions By Unreviewed Apps’ Google group. This group was set up by Google to allow users to access personal apps without requiring the app to be reviewed under Google’s new registration process. After joining the group, attempt to re-authenticate with Google Drive and attempt a fresh backup.