web-dev-qa-db-ja.com

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

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

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

自動化の目的で、私は単純なスキームを考えています。

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

OneDrive forBusinessが実際にはSharepoint2013のブランド名を変更したことを知ってくれたおかげで、 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
6
GrzegorzOledzki

私がする必要があるのは、編集リンクを少し変更することだけでした。 guestaccess.aspxdownload.aspx

4
wilsjd

このスレッドに追加するだけで(正しい方向に向かった-ありがとう!)、上記のようにしようとすると、ダウンロードしようとすると403 FORBIDDENメッセージが表示され、Office 365にログインしてブラウザーに貼り付けました。

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

これで問題なく認証され、ダウンロードはうまくいきました。

ありがとう!スティーブ

2
Steve Dark