Office 365 で、One Drive for Business に保存されている Excel ドキュメントの直接ダウンロード リンクを取得するにはどうすればよいですか?

Office 365 で、One Drive for Business に保存されている Excel ドキュメントの直接ダウンロード リンクを取得するにはどうすればよいですか?

私の会社では、OneDrive で Office 365 を使用しています。そこに Excel ファイルをアップロードし、「ゲスト リンク」経由で共有しました。

追加の認証なしでファイルをダウンロードするためだけに使用できるリンクを生成することは可能ですか?

自動化の目的で、私はシンプルなスキームを考えています:

 wget https://acmeamce.sharepoint.com/personal/myname/.../blabla.xlsx

答え1

OneDrive for Businessが実際にはSharepoint 2013のブランド名を変更したものであることがわかったおかげで、Sharepoint@SEでの回答ドキュメントをプログラムでダウンロードするためのリンクを取得することができました。

これを実現する 1 つの方法は、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 ログインが表示されました。

解決するには、2 番目の URL の guestaccesstoken=... 部分をコピーし、それを最初の URL のパラメータにもしました。

その後、認証は正常に行われ、ダウンロードは問題なく機能しました。

ありがとう!スティーブ

関連情報