我可以通过 Windows10 命令行上传文件到 onedrive 吗?
Can I upload a file to onedrive via Windows 10 command line?
我需要通过命令行将文件上传到 OneDrive。这将通过分发给最终用户的批处理文件来完成。
通过在 Stack Overflow 上搜索,我找到了类似 this one 的问题,这些问题表明您需要使用 Azure 注册应用程序并创建应用程序密码。我没有在我工作的组织中执行此操作的必要权限,也不能执行任何需要管理员帐户的操作。所以我不能安装任何软件 - 我必须使用 Windows 10 附带的软件。我也不能使用 VBA,因为它被阻止了。
我已经成功地从 OneDrive 下载文件,没有任何类似的东西,使用描述的过程 here:
- Open the URL in either of the browser.
- Open Developer options using Ctrl+Shift+I.
- Go to Network tab.
- Now click on download. Saving file isn’t required. We only need the network activity while browser requests the file from the server.
- A new entry will appear which would look like “download.aspx?…”.
- Right click on that and
Copy → Copy as cURL
.
- Paste the copied content directly in the terminal and append ‘--output file.extension’ to save the content in file.extension since
terminal isn’t capable of showing binary data.
Example:
curl https://xyz.sharepoint.com/personal/someting/_layouts/15/download.aspx?UniqueId=cefb6082%2D696e%2D4f23%2D8c7a%2
…. some long text ….
cCtHR3NuTy82bWFtN1JBRXNlV2ZmekZOdWp3cFRsNTdJdjE2c2syZmxQamhGWnMwdkFBeXZlNWx2UkxDTkJic2hycGNGazVSTnJGUnY1Y1d0WjF5SDJMWHBqTjRmcUNUUWJxVnZYb1JjRG1WbEtjK0VIVWx2clBDQWNyZldid1R3PT08L1NQPg==;
cucg=1’ --compressed --output file.extension
我在浏览器上点击 'upload' 后尝试做类似的事情,但在尝试过滤请求时没有发现任何有用的东西。
我发现了 these two 个问题,但是没有键盘快捷键可以上传,AFAICT。此外,最终用户会将文件上传到我从我的 OneDrive 与他们共享的文件夹中。打开 Chrome 或 Edge 作为最小化的 window 很好,但我不能只是将 window 推到他们的脸上,这样会自动点击东西 - 他们不会喜欢那样。
我刚刚想到我可以使用办公应用程序将文件另存为必要的 onedrive 文件夹,其中键盘快捷键非常稳定,但不知道如何通过命令实现行。
我认为实现此目标的最佳且更安全的方法是使用 OneDrive 的 Rest API。
您仍然需要 Azure AD 应用程序注册(您的管理员应该能够为您配置),以提供对 Azure 中服务的 API 访问权限。使用 API 编写代码会更容易、更简单,更不用说更通用了。
我需要通过命令行将文件上传到 OneDrive。这将通过分发给最终用户的批处理文件来完成。
通过在 Stack Overflow 上搜索,我找到了类似 this one 的问题,这些问题表明您需要使用 Azure 注册应用程序并创建应用程序密码。我没有在我工作的组织中执行此操作的必要权限,也不能执行任何需要管理员帐户的操作。所以我不能安装任何软件 - 我必须使用 Windows 10 附带的软件。我也不能使用 VBA,因为它被阻止了。
我已经成功地从 OneDrive 下载文件,没有任何类似的东西,使用描述的过程 here:
- Open the URL in either of the browser.
- Open Developer options using Ctrl+Shift+I.
- Go to Network tab.
- Now click on download. Saving file isn’t required. We only need the network activity while browser requests the file from the server.
- A new entry will appear which would look like “download.aspx?…”.
- Right click on that and
Copy → Copy as cURL
.- Paste the copied content directly in the terminal and append ‘--output file.extension’ to save the content in file.extension since terminal isn’t capable of showing binary data.
Example:
curl https://xyz.sharepoint.com/personal/someting/_layouts/15/download.aspx?UniqueId=cefb6082%2D696e%2D4f23%2D8c7a%2
…. some long text …. cCtHR3NuTy82bWFtN1JBRXNlV2ZmekZOdWp3cFRsNTdJdjE2c2syZmxQamhGWnMwdkFBeXZlNWx2UkxDTkJic2hycGNGazVSTnJGUnY1Y1d0WjF5SDJMWHBqTjRmcUNUUWJxVnZYb1JjRG1WbEtjK0VIVWx2clBDQWNyZldid1R3PT08L1NQPg==; cucg=1’ --compressed --output file.extension
我在浏览器上点击 'upload' 后尝试做类似的事情,但在尝试过滤请求时没有发现任何有用的东西。
我发现了 these two 个问题,但是没有键盘快捷键可以上传,AFAICT。此外,最终用户会将文件上传到我从我的 OneDrive 与他们共享的文件夹中。打开 Chrome 或 Edge 作为最小化的 window 很好,但我不能只是将 window 推到他们的脸上,这样会自动点击东西 - 他们不会喜欢那样。
我刚刚想到我可以使用办公应用程序将文件另存为必要的 onedrive 文件夹,其中键盘快捷键非常稳定,但不知道如何通过命令实现行。
我认为实现此目标的最佳且更安全的方法是使用 OneDrive 的 Rest API。
您仍然需要 Azure AD 应用程序注册(您的管理员应该能够为您配置),以提供对 Azure 中服务的 API 访问权限。使用 API 编写代码会更容易、更简单,更不用说更通用了。