通过 WebDAV 解决 Rclone 挂载 SharePoint 时遇到 Error: Auth Error
Failure!
Error: Auth Error
Description: No code returned by remote server
出现这个错误的原因可能是你所在组织的管理员长期未登录,而导致 OAuth 无法进行。别担心,这与你自己的账号没有关系。
这大多是因为该管理员较懒,因为长时间不登录会要求管理员修改自己的密码,一般人谁乐意啊。
实际上,如果你手动进行 OAuth 授权操作(而不进行跳转的话),你会发现,浏览器会给出如下提示:
Error:
Invalid Client
Error Description:
AADSTS650051: Using application 'od4hath' is currently not supported for your organization [xxxxxx], because it's in an unmanaged state. An administrator needs to claim ownership of the company by DNS validation of [xxxxxx] before the application 'od4hath' can be provisioned.
此时我们不能再使用 SharePoint 本体进行 Rclone 操作,而需要使用 WebDAV 进行操作:
首先,登录我们的 SharePoint 账号,并进入 OneDrive,可以看到浏览器的 URL 应该是:
https://____domain____-my.sharepoint.com/personal/____email____/_layouts/15/onedrive.aspx
复制这个 URL,将其改写为:
https://____domain____-my.sharepoint.com/personal/____email____/Documents
现在,这个 URL 即为你的 WebDAV URL。复制这个 URL 并在浏览器打开,它应该重定向到你的 OneDrive 首页。
现在,我们可以使用 Rclone 进行操作了。
在你的云服务器上执行:
rclone config
会出现:
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>
选择 n
,新建一个,并将该新 remote 命名,假设我们命名为 od4hath
。
之后会出现:
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
31 / Webdav
\ "webdav"
Storage>
选择 31
,即 WebDAV。
然后按照提示输入你的 URL 与 WebDAV 账户名和密码:
** See help for webdav backend at: https://rclone.org/webdav/ **
URL of http host to connect to
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / Connect to example.com
\ "https://example.com"
url>
输入先前复制的 URL 即可。
Name of the Webdav site/service/software you are using
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / Nextcloud
\ "nextcloud"
2 / Owncloud
\ "owncloud"
3 / Sharepoint
\ "sharepoint"
4 / Other site/service or software
\ "other"
vendor>
选择 3
,即 Sharepoint。
User name
Enter a string value. Press Enter for the default ("").
user>
这里的用户名是你的 Microsoft 账号,即你的邮箱。
Password.
y) Yes type in my own password
g) Generate random password
n) No leave this optional password blank (default)
y/g/n>
选择 y
,输入你的密码。
Enter the password:
password:
Confirm the password:
password:
这里的密码是你的 Microsoft 账号密码。
Bearer token instead of user/pass (eg a Macaroon)
Enter a string value. Press Enter for the default ("").
bearer_token>
bearer_token
一栏留空,直接回车。
Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n>
选择 n
,不需要编辑高级配置。
之后你将获得一个已经配置好的 remote。