Setting up google drive with my own key & error 401: invalid_client The OAuth client was not found

I am trying to rclone config so I can do a backup of my thunderbird portable profile to google drive. I download 1.51 yesterday for Windows 10. Ultimately I want to schedule a rclone sync daily via the windows scheduler. Please mention if there's a better way.

I followed the instructions and created a google api key and then did the rclone config but it ended it the browser showing: Error 401: invalid_client The OAuth client was not found.

Here is what I did on the command line. I must have done something wrong but from going through the help I can't figure what that might be. Any advise much appreciated!

Microsoft Windows [Version 10.0.18363.778]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\Tom>cd d:\applications\rclone

C:\Users\Tom>d:

d:\Applications\rclone>rclone config
2020/05/08 18:58:14 NOTICE: Config file "C:\Users\Tom\.config\rclone\rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> remote
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
Storage> 13

If you leave this blank, it will use an internal key which is low performance.
Enter a string value. Press Enter for the default ("").
client_id> xxxxxx-knDPGiZM
Google Application Client Secret
Setting your own is recommended.
Enter a string value. Press Enter for the default ("").
client_secret>
Scope that rclone should use when requesting access from drive.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
scope> 1
ID of the root folder
Leave blank normally.

Fill in to access "Computers" folders (see docs), or for rclone to use
a non root folder as its starting point.

Note that if this is blank, the first time rclone runs it will fill it
in with the ID of the root folder.

Enter a string value. Press Enter for the default ("").
root_folder_id>
Service Account Credentials JSON file path
Leave blank normally.
Needed only if you want use SA instead of interactive login.
Enter a string value. Press Enter for the default ("").
service_account_file>
Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> y
Only consider files owned by the authenticated user.
Enter a boolean value (true or false). Press Enter for the default ("false").
auth_owner_only>
Send files to the trash instead of deleting permanently.
Defaults to true, namely sending files to the trash.
Use --drive-use-trash=false to delete files permanently instead.
Enter a boolean value (true or false). Press Enter for the default ("true").
use_trash>
Skip google documents in all listings.
If given, gdocs practically become invisible to rclone.
Enter a boolean value (true or false). Press Enter for the default ("false").
skip_gdocs>
Skip MD5 checksum on Google photos and videos only.

Use this if you get checksum errors when transferring Google photos or
videos.

Setting this flag will cause Google photos and videos to return a
blank MD5 checksum.

Google photos are identifed by being in the "photos" space.

Corrupted checksums are caused by Google modifying the image/video but
not updating the checksum.
Enter a boolean value (true or false). Press Enter for the default ("false").
skip_checksum_gphotos>
Only show files that are shared with me.

Instructs rclone to operate on your "Shared with me" folder (where
Google Drive lets you access the files and folders others have shared
with you).

This works both with the "list" (lsd, lsl, etc) and the "copy"
commands (copy, sync, etc), and with all other commands too.
Enter a boolean value (true or false). Press Enter for the default ("false").
shared_with_me>
Only show files that are in the trash.
This will show trashed files in their original directory structure.
Enter a boolean value (true or false). Press Enter for the default ("false").
trashed_only>
Comma separated list of preferred formats for downloading Google docs.
Enter a string value. Press Enter for the default ("docx,xlsx,pptx,svg").
export_formats>
Comma separated list of preferred formats for uploading Google docs.
Enter a string value. Press Enter for the default ("").
import_formats>
Allow the filetype to change when uploading Google docs (e.g. file.doc to file.docx). This will confuse sync and reupload every time.
Enter a boolean value (true or false). Press Enter for the default ("false").
allow_import_name_change>
Size of listing chunk 100-1000. 0 to disable.
Enter a signed integer. Press Enter for the default ("1000").
list_chunk>
Impersonate this user when using a service account.
Enter a string value. Press Enter for the default ("").
impersonate>
Use alternate export URLs for google documents export.,

If this option is set this instructs rclone to use an alternate set of
export URLs for drive documents. Users have reported that the
official export URLs can't export large documents, whereas these
unofficial ones can.

Enter a boolean value (true or false). Press Enter for the default ("false").
alternate_export>
Cutoff for switching to chunked upload
Enter a size with suffix k,M,G,T. Press Enter for the default ("8M").
upload_cutoff>
Upload chunk size. Must a power of 2 >= 256k.

Making this larger will improve performance, but note that each chunk
is buffered in memory one per transfer.

Reducing this will reduce memory usage but decrease performance.
Enter a size with suffix k,M,G,T. Press Enter for the default ("8M").
chunk_size>
Set to allow files which return cannotDownloadAbusiveFile to be downloaded.

If downloading a file returns the error "This file has been identified
as malware or spam and cannot be downloaded" with the error code
"cannotDownloadAbusiveFile" then supply this flag to rclone to
indicate you acknowledge the risks of downloading the file and rclone
will download it anyway.
Enter a boolean value (true or false). Press Enter for the default ("false").
acknowledge_abuse>
Keep new head revision of each file forever.
Enter a boolean value (true or false). Press Enter for the default ("false").
keep_revision_forever>
If Object's are greater, use drive v2 API to download.
Enter a size with suffix k,M,G,T. Press Enter for the default ("off").
v2_download_min_size>
Minimum time to sleep between API calls.
Enter a duration s,m,h,d,w,M,y. Press Enter for the default ("100ms").
pacer_min_sleep>
Number of API calls to allow without sleeping.
Enter a signed integer. Press Enter for the default ("100").
pacer_burst>
Allow server side operations (eg copy) to work across different drive configs.

This can be useful if you wish to do a server side copy between two
different Google drives. Note that this isn't enabled by default
because it isn't easy to tell if it will work between any two
configurations.
Enter a boolean value (true or false). Press Enter for the default ("false").
server_side_across_configs>
Disable drive using http2

There is currently an unsolved issue with the google drive backend and
HTTP/2. HTTP/2 is therefore disabled by default for the drive backend
but can be re-enabled here. When the issue is solved this flag will
be removed.

Enter a boolean value (true or false). Press Enter for the default ("true").
disable_http2>
Make upload limit errors be fatal

At the time of writing it is only possible to upload 750GB of data to
Google Drive a day (this is an undocumented limit). When this limit is
reached Google Drive produces a slightly different error message. When
this flag is set it causes these errors to be fatal. These will stop
the in-progress sync.

Note that this detection is relying on error message strings which
Google don't document so it may break in the future.

Enter a boolean value (true or false). Press Enter for the default ("false").
stop_on_upload_limit>
This sets the encoding for the backend.

See: the encoding section in the overview for more info.
Enter a encoder.MultiEncoder value. Press Enter for the default ("InvalidUtf8").
encoding>
Remote config
Use auto config?

  • Say Y if not sure
  • Say N if you are working on a remote or headless machine
    y) Yes (default)
    n) No
    y/n>
    If your browser doesn't open automatically go to the following link: 127.0.0.1:53682/auth?state=EqqAeDBQlgQXOJUjxi2mjg
    Log in and authorize rclone for access
    Waiting for code...

hello and welcome to the forum,

please do not post private and/or sensitive information such as
client_id> xxxxxxx-knDPGiZM

EDIT: @calisro, thanks, i am still waking up, so that explains why i told the poster to remove sensitive info and then i re-posted that sensitive info.
i need coffee... :coffee:

1 Like

A client id and secret should look something like:

client_id = bunchofchars.apps.googleusercontent.com
client_secret = numbersletters_morenumbersletters

Does not seem like you had that setup so you'd get a bad value if you tried to authorize.

Thanks for your patience. My bad, indeed, used a Google PI key instead. This time I tried using a client_id & secret created in 2016 for WordPress UpdraftPlus, I definitely entered them correctly. At the end I get the browser error:
Authorization Error
Error 400: redirect_uri_mismatch
The redirect URI in the request,<my 127 uri>, does not match the ones authorized for the OAuth client. To update the authorized redirect URIs, visit: consoledevelopersgooglecom/apis/credentials/oauthclient/My client id>?project=

Going back to my client_id page the Authorised redirect URIs does require a login in....

I'm not sure what you are pasting it as it doesn't seem right.

Can you walk through what steps you've done?

Sure. I just did the exact same as before, rclone config, this time putting in the correct client_id and secret. I get this browser message at the end:
If your browser doesn't open automatically go to the following link: <>
Log in and authorize rclone for access
Waiting for code...
Going to that link gives the Error 400: redirect_uri_mismatch error

Going to what link?

It won't let me post links. The console message end with:
If your browser doesn't open automatically go to the following link:
127 address / auth state= XXX
Log in and authorize rclone for access
Waiting for code...

Maybe let's try to break it into two steps.

Just create a remote without using any special client and secret and see if that works.

For the new client ID and secret created, you see something like this in your console?

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.