Trying to authorize Zoho WorkDrive with personal account using rclone. Using the following settings:
name> zoho1
Storage> zoho
region> eu
config_team_drive_id> 1 (tried also 0, same result)
Result:
Error: HTTP error 401 (401 Unauthorized) returned body: "{\"errors\":[{\"id\":\"R008\",\"title\":\"Unauthorized access\"}]}"
Run the command 'rclone version' and share the full output of the command.
rclone v1.68.1
os/version: ubuntu 24.10 (64 bit)
os/kernel: 6.11.0-8-generic (x86_64)
os/type: linux
os/arch: amd64
go/version: go1.23.1
go/linking: static
go/tags: none
A log from the command with the -vv flag
2024/10/17 19:11:18 DEBUG : rclone: Version "v1.68.1" starting with parameters ["rclone" "-vv"]
Usage:
rclone [flags]
rclone [command]
Available commands:
about Get quota information from the remote.
authorize Remote authorization.
backend Run a backend-specific command.
bisync Perform bidirectional synchronization between two paths.
cat Concatenates any files and sends them to stdout.
check Checks the files in the source and destination match.
checksum Checks the files in the destination against a SUM file.
cleanup Clean up the remote if possible.
completion Output completion script for a given shell.
config Enter an interactive configuration session.
copy Copy files from source to dest, skipping identical files.
copyto Copy files from source to dest, skipping identical files.
copyurl Copy the contents of the URL supplied content to dest:path.
cryptcheck Cryptcheck checks the integrity of an encrypted remote.
cryptdecode Cryptdecode returns unencrypted file names.
dedupe Interactively find duplicate filenames and delete/rename them.
delete Remove the files in path.
deletefile Remove a single file from remote.
gendocs Output markdown docs for rclone to the directory supplied.
gitannex Speaks with git-annex over stdin/stdout.
hashsum Produces a hashsum file for all the objects in the path.
help Show help for rclone commands, flags and backends.
link Generate public link to file/folder.
listremotes List all the remotes in the config file and defined in environment variables.
ls List the objects in the path with size and path.
lsd List all directories/containers/buckets in the path.
lsf List directories and objects in remote:path formatted for parsing.
lsjson List directories and objects in the path in JSON format.
lsl List the objects in path with modification time, size and path.
md5sum Produces an md5sum file for all the objects in the path.
mkdir Make the path if it doesn't already exist.
mount Mount the remote as file system on a mountpoint.
move Move files from source to dest.
moveto Move file or directory from source to dest.
ncdu Explore a remote with a text based user interface.
nfsmount Mount the remote as file system on a mountpoint.
obscure Obscure password for use in the rclone config file.
purge Remove the path and all of its contents.
rc Run a command against a running rclone.
rcat Copies standard input to file on remote.
rcd Run rclone listening to remote control commands only.
rmdir Remove the empty directory at path.
rmdirs Remove empty directories under the path.
selfupdate Update the rclone binary.
serve Serve a remote over a protocol.
settier Changes storage class/tier of objects in remote.
sha1sum Produces an sha1sum file for all the objects in the path.
size Prints the total size and number of objects in remote:path.
sync Make source and dest identical, modifying destination only.
test Run a test command
touch Create new file or change file modification time.
tree List the contents of the remote in a tree like fashion.
version Show the version number.
Use "rclone [command] --help" for more information about a command.
Use "rclone help flags" for to see the global flags.
Use "rclone help backends" for a list of supported services.
as you using a free account? if using paid account, which plan?
i am able to reproduce that issue on a free account but not 100% sure it is a rclone bug.
and just now, i tested using older version of rclone, had the same exact issue.
so, maybe something changed on zoho side.
as seen in the log, maybe zoho is returning that state as workspace DEBUG : zoho: config out: out=&{State:workspace Option: OAuth:<nil> Error: Result:}, err=<nil>
and rclone does the correct thing, ask for config_team_drive_id
Hello @asdffdsa@Andrew_Cheburnetus This is Debeka from WorkDrive team. Thanks for reporting the problem. Upon analysis, we see that rclone expects a "Team" for the users by default and the individual account is not supported, if not wrong.
@ncw rclone on initial configuration fetches the team information for the users using "users/user-id/teams" which will return a null for individual users and same is being to used further to fetch workspaces / privatespace resources. We recommend using "users/user-id/organization" API instead of "users/user-id/teams" which will have a similar response that will additionally include "organization_type" attribute. The attribute values can be interpreted as below
organization_type : 1 [Individual User type]
organization_type : 2 [Team User type]
You can further use the id returned in the above API response for further calls. We also recommend to only trigger users/idreturnedinthepreviousAPI-userId/privatespace and avoid teams/id/workspaces calls for individual users based on the organization_type since workspaces are not supported for such users. You can find more details on the individual plan here
The above information is not available in the WorkDrive's API Documentation. We will work to update the same at the earliest.
Also, Nick, do we have a work around for the individual users, till we have the fix, if they have the id to be used in place of the teamId?
Please check if further clarification is required.
Enter name for new remote.
name> zohotest
Storage> zoho
region> eu
I then got
2024/10/23 12:28:47 NOTICE: Got code
Option config_team_drive_id.
Team Drive ID
Choose a number from below, or type in your own value of type string.
Press Enter for the default (4xrzufXXX).
1 / rclone
\ (4xrzufXXX)
config_team_drive_id> 1
Did you see nothing here? Is that the problem? Or did you see an ID here and it didn't work?
Usually pressing enter works fine here.
@Debeka thank you for your info. Why does my account (also a Zoho personal account) work but @Andrew_Cheburnetus account does not?
Maybe because it is a newer account?
If so please, could you look into the supporting the old API with newer accounts?
It's been working well for four years, and we're hoping for a resolution to restore compatibility.
If you know the id then you can just copy and paste it into the config_team_drive_id> prompt.
Hi @ncw Thanks for the information. The personal account you added here is actually a "Team" which will work without any issue as the users/id/teams API will hold valid data. Whereas @Andrew_Cheburnetus is actually using WorkDrive's Individual account which will not have any existing team and can't create a new one too. I'm adding the reference link for the WorkDrive's Individual plan again for your reference
In that case, the suggested API changes will be required for the rclone to work seamlessly for such users.
Luckily our most excellent developer @buengese has already implemented this - it has not made it to a full rclone release yet (it is scheduled for v1.69)
So in the mean time can you try the latest beta please which has full support for workdrive personal accounts.