私の会社では、OneDriveでOffice365を使用しています。そこでExcelファイルをアップロードし、「ゲストリンク」で共有しました。
誰かがそれ以上の認証なしでファイルをダウンロードするためだけに使用できるリンクを生成することは可能ですか?
自動化の目的で、私は単純なスキームを考えています。
wget https://acmeamce.sharepoint.com/personal/myname/.../blabla.xlsx
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
私がする必要があるのは、編集リンクを少し変更することだけでした。 guestaccess.aspx
とdownload.aspx
。
このスレッドに追加するだけで(正しい方向に向かった-ありがとう!)、上記のようにしようとすると、ダウンロードしようとすると403 FORBIDDENメッセージが表示され、Office 365にログインしてブラウザーに貼り付けました。
解決するために、2番目のURLのguestaccesstoken = ...の部分をコピーし、それを最初のURLのパラメーターにもしました。
これで問題なく認証され、ダウンロードはうまくいきました。
ありがとう!スティーブ