How to get an AuthId token for pCloud

Hello,

I see that pCloud is now supported by the canari version that I’m using, so I tried doing just that.
Looking at the documentation, I went to https://duplicati-oauth-handler.appspot.com but could not see a button for pCloud on the default page.
Nevertheless, I tried my usual backup command line with a pcloud:// destination but it complained with this error message:

ErrorID: MissingAuthID
You need an AuthID to use this destination. You can get it from: https://duplicati-oauth-handler.appspot.com?type=pcloud

I thus visited that URL which is the same as before but with the type indicated. Sadly, this gives me an empty page, with no button at all:

I’ve seen other users report that they are using duplicati with pCloud just fine, but they don’t say how they got an AuthId.
What have I missed?

If you use Duplicati GUI, try the AuthID button:

To get into details which the dev might want to comment on (e.g. for release 2.2 plans):

is sending you to new C# OAuth server at https://oauth-service.duplicati.com/

At that time, Python 2.7 OAuth server at documented location could not be upgraded.

Upgrading GAE OAuth Server fixed this in January, but it still doesn’t know of pCloud.

Having Canary test pCloud on test OAuth server seems OK, but what’s coming later?

I’m kind of fuzzy on channel use before Stable, but assume prereleases will come out.

Right now, the C# MissingAuthID aims wrong, as it doesn’t know the GUI code doings.

Even without that wrinkle, arguably a user could set the OAuth server choice in option:

  --oauth-url (String): Alternate OAuth URL
    Duplicati uses an external server to support the OAuth authentication flow. If you have set up your own Duplicati OAuth server, you can supply the refresh URL.
    * default value: https://duplicati-oauth-handler.appspot.com/refresh

and I don’t know if that’s taken into account in the message (haven’t tested the option).

I see, the commandline is using the general Url, which does not work for pCloud.

We are working on migrating away from that solution, so that service has not been updated with pCloud.

Instead, you need to use this url:

https://oauth-service.duplicati.com?type=pcloud

If you use the UI as @ts678 suggest, this has been updated to point to the new service for pCloud.

The reason why pCloud support was not backported is that it uses a special flow, where you get the token after authentication, and do not need to repeatedly refresh the token as regular OAuth based providers do.

You do not need to set the alternate OAuth url, because pCloud will not contact the server if you have the AuthId.

2 Likes

I’m almost always only using the CLI as it offers me better control on what’s done.

Thanks for pointing me to the alternate URL, it worked just fine in getting the AuthId.

Thing is, I then received the following error message:

Invalid server specified, must be either api.pcloud.com or eapi.pcloud.com for European hosting

Looking at the source code I found out that the documentation missed the “host” part and so after changing my URL to pcloud://eapi.pcloud.com/folder?authid=abcdef it is now working just fine.

Thanks for your help.

Yes, and it should obviously show the correct url in either case. I have fixed this in source.

Thanks for pointing that out. I have updated the documentation to mention the host part.

1 Like