ClientID automation : winter is coming = deadline closing in

Hi,

Just updated to 1.75 and configured a new drive, got the message that "This shared client_id is being retired and will stop working during 2026". While I can see the rationale behind, this has been a kind of shock for me. Not sure since when is being announced, not seen any such notice in release notes.

2026 is quite short term ... not sure if this could be extended into mid 2027...

On the other hand, I am not sure how the majority of grandmas and grandpas of the world (such as me) are going to cope with creating a ClientID and getting the secret, the update the config and refresh the tokens. While the instructions are very good, it is not a simple task. Less in case oneself is using more than one different brand remote needing each its own CliendID clearance. What a mess! While this is not rclone fault - but to be so successful - it will become messy for users.

I wonder if it could be embedded in rclone code to handle programmatic ClientID creation, for the setup of new remotes, and code to handle the migration of remotes from classic no Client ID and with tokens to new ClientIDs.

As idea, I have located the below item that seems to show a way to handle Google APIs. Yes, I understand that this is a further complication to rclone, but would be an excellent help for users. I will try to entice the github person to produce a template able to do a simply registry of ClientID for google ... but the rclone-integrated solution would be a plus!

A happy long term user ...:upside_down_face:

Hi!

Unfortunately this change isn't being driven by us, it is driven by Google - see the announcement for more info

The exact timings depend on Google.

Google really don't like users not using their own client id. I tried to persuade them that they know who the user is anyway so why make this change, but you can guess how well that conversation went!

We would automate the client id creation if we could but unfortunately Google still has no public API for creating standard OAuth 2.0 clients (Desktop/Web app type on the consent screen).

So I'm afraid we have been painted into this particular corner by Google :frowning:

Hi,

Have you tried following the instructions and have you successfully created a client ID?

If not, or you are stuck somewhere let us know where and perhaps I can help. I've created lots of IDs over and over again for practice.

Also, Google just notified me that I need to redo/update my client IDs that have been around for a while so that's a pain too. Especially when you have more than one Google Drive like I do.

Thanks Nick.

As always, very attentive of your side. It is a pity there is no API. I will try to explore the keyboard/mouse automation approach ... record/replay ...

On another thought, depending on how the process is crafted and coded, a programmatic API might not be needed, just alike a Rest API or a properly ordered succession of URLs one after the other in a cmd file...The steps and information exchanged can be back engineered. Only if https://console.developers.google.com/ is Restful ...

Yes, I did, and it is a bit PIA. As you comment, I was afraid the cliendID updates need was in the horizon ... So, create new ClientID, then refresh token in config needing to login manually again...

Every when ClientID is to be recreated? Was there a limit of 10 free apps/ClientIDs per account?

As you say, you have a lot of practice... Would it easy for you to build a macro with Auto Hotkey or alike?

Instructions here Google drive are good and fitting the tasks to do. Perhaps

  • Would reorder the scopes part (see below for proposal)
  • I would provide besides the full thing a streamlined version for people to follow the recipe quickly

Scopes, deviates from the other steps, that are more "do this", then explain.

Proposal


Add scopes:

  1. click "Data Access" on the left side panel
  2. click "add or remove scopes"
  3. select at least https://www.googleapis.com/auth/docs + ``https://www.googleapis.com/auth/driv + https://www.googleapis.com/auth/drive.metadata.readonly then
  4. press update. You should now see the three scopes on your Data access page. Now
  5. press save at the bottom!

It can also be done manually: click Data Access on the left side panel, click "add or remove scopes" and go to the "Manually add scopes" text box (scroll down) and enter "https://www.googleapis.com/auth/docs,https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/drive.metadata.readonly", press add to table then update, then press save at the bottom!

More info in scopes


@ncw

I would adjust the Instructions here Google drive

current step 11

Run the web-based authorization flow from within rclone config, by answering "Y" when it asks "Token already configured - replace it?".


in notice Google Drive and Google Photos users - ACTION REQUIRED

In step 11 run rclone config reconnect YourDriveOrPhotosRemoteName: and answer "Y" when it asks "Already have a token - refresh?". This part is important otherwise rclone won't actually use your new client_id/client_secret.

Repeat for all your google drive and google photos remotes. You only need to make one client_id/client_secret - you can add this to all your remotes but you must also run rclone config reconnect on each of them.


so, what is the precise flow in step 11?

Is reconnect going to require going through the interactive oauth flow again, as documented in rclone config reconnect ?


It looks to me that the impact of this transition can become a mayhem, so that perhaps adding some other actions to those stated in Google Drive and Google Photos users - ACTION REQUIRED could help:

  • Could it be possible/advisable to create a command "rclone config switchID" so that it could automate the switch from previous clientID or common one to a new clientID?
  • Besides detecting common clientID being using, could offer to help on creating a new clientID or offer to execute "rclone config switchID"

@caspertone2003

I do several things with Autohotkey. It runs automatically when I log in. Automating this way the creation of the client ID I think would be a bit too difficult for me especially since you have to interactively add your own data to the configuration. If it were simply a number of automated steps it would not be too difficult. Personally i rely on chatgpt and claude to assist me with writing scripts for autohotkey.

I have already asked chat GPT how difficult would be to create a script to do the client ID. It said that it would be very difficult because it's a website and autohotkey relies on fixed positions to be able to click on things and they will not be fixed in each person's browser on the screen.

Instead of that I am considering creating a short how-to video. This was my reason for creating a client ID over and over again so I could do a video smoothly on the process of creating the client ID.

Does anyone think a how-to video would be useful for everyone to be able to access? If so I will raise its priority level in my to do list.

I see. I used in the past a tool that allowed scripting with the use of variables, that helped on that.

I have been playing a bit with browser extensions that allow macro recording and replay, free, one of them incorporating AI ... Not easy to learn, but it is based on fields names not in screen positions, reads the html code and allow use of variables, so it could fit the bill. Perhaps the best approach is still the Restfull API, I have read that client registration also is Restful ...

For my own purpose, looks that the easy way is a macro recorder/replayer as I can have under control my screen field, and those browser extensions seems a step learning curve.

In relation to the video, I continue preferring reading, but certainly young generations are mostly only visuals ... give them a video and they will love you. How many of them are in for the use of such tool as rclone (CMD/script oriented, not GUI, although there are GUIs over there..., I am not sure...

Thanks again!

@caspertone2003 @ncw

I just did a little research and a browser plugin sounds like a good idea.

Actually, I think i can create a playwright script with python and turn it into an EXE so nobody would need to download and install playwright or python.

I am going to experiment with two options.

  1. microsoft power automate desktop which I think has a browser companion.
  2. Playwright + Python.

Let me know if you would like to collaborate on this. For a project like this an extra pair of eyes is always good.

Have you heard of Microsoft power automate desktop? It's free and might work. Pretty sure it has a companion browser extension.

Playwright + Python is another viable option. Chatgpt says that it's the best option if I want it to help me create a reusable script where you enter the client name that you want and it does the rest. I have chatgpt plus paid so I might very well give this option a go. Playwright enables reliable web automation for testing, scripting, and AI agents. https://playwright.dev/
Playwright is probably the sweet spot if the ultimate goal is something like: double-click one file, enter the desired client name, and end up with the Google OAuth credentials JSON in your Downloads folder.

Google can download the JSON file which is a text file that contains both the client ID and Secret.

So I would automate this sequence:

Launch Google Chrome.
Let the user sign into Google manually if necessary.
Create a new Google Cloud project.
Give the project a unique name, such as rclone-482193, so Google doesn't reject duplicate/project-ID combinations.
Enable Google Drive API.
Open Google Auth Platform.
Configure the consent screen.
Set the audience to External.
Set the application name to rclone.
Configure the required Drive access/scopes.
Publish the OAuth app so it isn't stuck with the seven-day Testing limitation.
Create an OAuth client.
Choose Desktop app.
Name it rclone.
Create the client.
Automatically download the credentials JSON.
Put the JSON somewhere obvious — I'd suggest the user's Downloads folder.
Display a final message telling them where the file is and that they'll need the client_id and client_secret when configuring rclone.

Happy to contribute, as many, interruptions of availability happen from time to time.

No prior knowledge of said tools. I had a look to https://ui.vision/ (not easy to use at first sight, but offers an AI interface...), tested SiteMacro (was not up to needs), while it could evolve if author would be interested in making it progressing.

Project ID, client name, etc, I think like you, unique names are better than common for all. What would be used could ask for names or make random ones or best IMHO, use in all parts rclone+emailaddress (only chars and numbers, remove @gmail.comgmail.com) . Tool would need to be able to handle "placeholders" or variables.

Best if it could cover all lifecycle: from login to drive, clientID obtention, build/update of config file for rclone.

Executables... AutoKeys and alikes have been plagued by virus, exes for automation are usually blocked by virus if good, otherwise users shouldnt be executing unverified applications... Scrips are a better idea. Desktop macro recorders/players could be a good option should there be any one able to identify web fields. I would suggest investigating (1) if any web extension would suffice if not (2) see if Restful would be possible, a good CMD script would solve mostly the way forward or (3) check desktop macro recorders/players approach. Anyhow, you can enjoy playing with python, I would not dare to restrict your joy ... MS power automate ... its name sounds promising and would be a nice joke to use a MS tool to handle Google accounts.... disabled store).

1 Like

Ok,

I have the first version of the batch file that chat GPT created for me that will create the download of playwright and the necessary python components. At first I'm going to let it create the executable just so I can tell if it works or not. It is the best option for people who don't want to or understand how to download playwright and python. Scripts could do that for them.

I understand and agree with you that executables have become taboo. People can be leery about downloading and executable and running it.

The alternative using playwright is to have each person download playwright and necessary python components which can be automated.

I'm going to try the executable first and see if it works and then work on a non-executable procedure. Chatgpt has already created the necessary components for me to get started.

I'll be doing all of this in a virtual machine so I can start off with a clean environment that won't be impacted by anything that works because I have something installed already I wasn't aware of. For example you don't need the full python development environment to create the executable.

What do you think of a batch file that downloads the necessary components and then creates the executable that the person runs so they're not downloading and executable but rather just running one that they create themselves?

So let's start our collaboration effort with you trying out the Microsoft automate tool and me continuing with python?

Hi, lost link to internet...

MS power automate ... have had a look and it presents some challenges, at least for me... not portable, requires installing from store (have disabled store). Will need to intall VBox and set up a VM ...

Hi,

Does your computer have Microsoft winget installed? It comes with windows. Runs in a cmd prompt window. If not you can load it without Store.

If you run this command it will download and install the software. Start here and then install

winget -v (Will print the version, if installed.)

If not, you can get it from here:

winget install Microsoft.PowerAutomateDesktop

WindowsAutomate

Hello hello,

Not much progress on my side. I ave all store functionality "extirpated", so I cannot even install WinGet from github. So, I will be trying furthere the browser extension path.

https://webmacro.app/ looks promising, but you need to install from store.

For Chrome this looks promising - https://chromewebstore.google.com/detail/automate-—-macro-recorder/glgeemkbkppmghmaefopmbjkoijibogn, and chrome can be installed portable from Google Chrome Portable | PortableApps.com - So, this could be a not to steep approach for anyone wishing to use the "workaround" to oneself manually creating the clientID...

Issue is... the macro recorder is not free. Fully functional for 7 days... would be ok for the one time user.

Found MacroX — Browser Macro Recorder & Player for Chrome Free for three macros, might be the one. Will start with this one.

Will come back with any progress...

That sucks.

I'm making progress. Problem is if I make an executable some people won't want to run it.

If I don't make an executable everybody has to download the software necessary to run the script which requires Python and some other software.

I can probably put all of that in a batch file but I'm not sure.

We don't want to make things more complicated for people by making them install developer tools. Hence the advantage of the executable which has everything built in.

I'm going to continue with two prong approach. I'm going to try and do it all with scripting and make sure that it is easy as possible to do the scripting. I'm also going to make the executable at least for myself. If by some chance the executable works out to be an excellent method of creating a client ID perhaps if I submit it to the Rclone Developers they would consider putting it on the website as an official Rclone software program to create client IDs. That's a ways off. If it were downloadable from the website people would trust it more than getting it from somebody.

Because I'll be doing this in Virtual machines I will also install the Microsoft software and see how far I get with it and I will let you know.

I am happy to try your executable ... do a good job to include best in class rootkit so you can fully control my equipment :laughing: ... while it would pass virustotal checks...

On my side a found https://chromewebstore.google.com/detail/macro-cursor-recorder/aipjjiafoeohaekdkodfbjfmbhdpnbap that is free and might be fit for purpose... and author might be willing to adapt it for new challenges...

1 Like

Cool.

I'm really not much of a control expert. You'll have to wait for someone else to invade.

One of my goals is to not make it more complicated to create the ID than just doing it manually. That's why I came up with the instructional video idea. Folks rely on those to get things done on Youtube every day.

Hi, I have been researching for browser extension alternatives, but no major progress. Will report on tests and fails... Either not capturing enough, or too much, or very complex.

Today I have a new challenge. Google not allowing me to publish the app ... I strictly followed the guide. Could you check if something changed?

TIA

Sure. I'll run through a new config and see if it works.

I'm getting closer to creating the script that will do it all but right now I have other things that are more important this weekend such as putting together a presentation I'm giving on Wednesday. It's on email backup. Something that most people don't do.

I'm sure I'll be able to squeeze in the creation of one instance of rclone this weekend.

1 Like

Mistery solved for new clientIDs ... Can't configure Google Drive client ID - #5 by nite_route