我的公司使用 Office 365 和 OneDrive。我在那里上传了一个 Excel 文件并通过“访客链接”共享。
是否可以生成一个链接,供其他人直接下载文件而无需进一步的身份验证?
为了实现自动化,我正在考虑简单的方案:
wget https://acmeamce.sharepoint.com/personal/myname/.../blabla.xlsx
答案1
感谢发现 OneDrive for Business 实际上是重新命名的 Sharepoint 2013,并且Sharepoint@SE 中的答案我设法获得了一个可以通过编程下载文档的链接。
实现的一个方法是右键单击 Web GUI 中的文档并获取 URL。这对我来说不起作用,因为此 URL 需要身份验证,但是...
取 URL 的前缀,例如
https://acmeacme.sharepoint.com/personal/myname/_layouts/15/download.aspx?SourceUrl=
并生成“常规” URL 作为访客链接
https://acmacme.sharepoint.com/personal/myname/_layouts/15/guestaccess.aspx?guestaccesstoken=123123%3d&docid=123123
将它们连接起来,效果非常好:
wget https://acmeacme.sharepoint.com/personal/myname/_layouts/15/download.aspx?SourceUrl=https://acmacme.sharepoint.com/personal/myname/_layouts/15/guestaccess.aspx?guestaccesstoken=123123%3d&docid=12312
答案2
我所需要做的只是稍微更改编辑链接。只需将其替换guestaccess.aspx
为download.aspx
。
答案3
只是为了补充这个线程(它为我指明了正确的方向 - 谢谢!),当按照上面描述的方式尝试下载时,我收到了 403 FORBIDDEN 消息,并且在粘贴到浏览器中时出现了 Office 365 登录信息。
为了解决这个问题,我复制了第二个 URL 的 guestaccesstoken=... 部分,并将其作为第一个 URL 的参数。
然后验证成功,下载顺利完成。
谢谢!史蒂夫