SharePoint OnlineのドキュメントライブラリのダウンロードURLの作り方
通常どおりの作り方では「開く」リンクになってしまうSharePoint Onlinenドキュメントライブラリにアップロードされたファイル。
場合によってはOffice Onlineで開くのが標準になってしまう。
ユーザーへ明示的にダウンロードさせるリンクの生成のため、少し回りくどい手順を備忘録として。
単純にクライアントアプリケーションで開かせるだけであれば、サイトコレクションの機能の設定
サイトコレクションの全てのファイルをOffice Onlineではなくてクライアントアプリで開くように設定するには、サイトコレクションの設定で指定すれば良い。
ただこれだと、単に全部クライアントアプリで開くようになってしまい、Officeの古いバージョンには対応していなかったりする。普通にローカルへファイルダウンロードしたいだけの場合は別のURLからこのファイルにアクセスすることになる。
dowonload.aspx を使う
ドキュメントライブラリのファイルのコンテキストメニューから「ダウンロード」をクリックすると、ブラウザ上で普通にダウンロードが始まる。
この時によくHTTPリクエストをよく見ると、 download.aspx というのが呼び出され、そこに SourceUrl が指定されてダウンロードが実現されている。
つまりは、この download.aspx を使うことでダウンロードURLが作れる。
ダウンロードURLの作り方
どうもこの download.aspx を使ったURLを見る限り、 SourceUrl というパラメーターに、対象となるファイルのURLをエンコードした文字列をつければ出来上がる様子。結構めんどくさい。
これでもめんどくさいけど、コチラの方が確実な方法です。
- 対象のファイルがあるライブラリにアクセス
- F12キーを押してIEのデバッグモードを起動、ネットワークタブを開く
- 対象のファイルでコンテキストメニューから「ダウンロード」を選び、ダウンロードになる(保存のダイアログがでる)のを確認する
- デバッグモード側のURLで
download.aspx
が呼ばれているGETメソッドを探し、その行を右クリックして「URLのコピー」をする - ↓こんなURLが取得できるので、それがダウンロードリンクになる
- https://XXX.sharepoint.com/sites/XXX/_layouts/15.download.aspx?SourceUrl=%2Fsites%2FXXX%2FXXXXXXXXXXX%2Exlsm
“SharePoint OnlineのドキュメントライブラリのダウンロードURLの作り方” に対して1件のコメントがあります。