An error is raised from seahub/api2/endpoints/upload_links.py: “Upload link […] is encrypted.”
The check in line 324 (uls.is_encrypted) seems to be wrong, because is_enrypted is true, if the upload link is protected by a password.
The comment on line 323 “currently not support encrypted upload link” implies, that “is_encrypted” should check an upload link for an encrypted repo.
# currently not support encrypted upload link
# if uls.is_encrypted():
# error_msg = 'Upload link %s is encrypted.' % token
# return api_error(status.HTTP_403_FORBIDDEN, error_msg)
Commenting out lines 324-326 leads to working upload links. I am not sure, if this has any side effects.