リンクの取得(制限付きリンク)
SharePoint Onlineドキュメントライブラリ(クラシックUI)で、ファイルを選択して [...]-[...]-[リンクの取得(Copy link)]を順番にクリックすると、ファイルのリンクが取得できます。アクセス権の設定を厳しくしている場合は、「制限付き(アクセス)」のリンクだけが取得できます。アクセス権の設定を緩くしている場合は、「制限付き(アクセス)」「表示」「編集」の3リンクが取得できます。「編集」リンクは ユーザーがこのリンクからSharePoint上のファイルにアクセスすると 固有権限の編集が付与されるという仕組み。「表示」リンクの場合も同様に 閲覧が付与されます。サイト管理者が アクセス権限範囲を特定していても ユーザーが OneDrive for Businessのように 自由に範囲を広げてしまうという「管理者 泣かせ」の機能です。

今回の記事は、制限付き(アクセス)リンクについて。最近、制限付きリンク(URL)の形式が変わりましたね。今までの制限付きリンク(URL)と、最近の制限付きリンク(URL)の書式は 以下の通りです。ドメインとサイトの間に「:(1char):/r/」が入るようになりました。
(従来)
https://TENANT.sharepoint.com/SITE/LIBRARY/FOLDER/FILE?d=(33chars)&csf=1
(最近)
https://TENANT.sharepoint.com/:(1char):/r/SITE/LIBRARY/FOLDER/FILE?d=(33chars)&csf=1
フォルダ、ファイルの種類ごとにURLに付加される1文字が変わる
制限付きリンクのドメインとサイトの間に入る文字「:(1char):/r/」は、フォルダ、ファイルの種類ごとに変わるようです。クラシックUIのドキュメントライブラリで ファイル(またはフォルダ)を選択して [...]-[...]-[リンクの取得(Copy link)]を順番にクリックした場合のリンク(URL)書式は、以下の通りです。
(フォルダ)
https://TENANT.sharepoint.com/:f:/r/SITE/LIBRARY/FOLDER?csf=1
(ファイル Excel)
https://TENANT.sharepoint.com/:x:/r/SITE/LIBRARY/FOLDER/FILE.xlsx?d=(33chars)&csf=1
(ファイル Word)
https://TENANT.sharepoint.com/:w:/r/SITE/LIBRARY/FOLDER/FILE.docx?d=(33chars)&csf=1
(ファイル PowerPoint)
https://TENANT.sharepoint.com/:p:/r/SITE/LIBRARY/FOLDER/FILE.pptx?d=(33chars)&csf=1
(ファイル PDF)
https://TENANT.sharepoint.com/:b:/r/SITE/LIBRARY/FOLDER/FILE.pdf?csf=1
(ファイル JPEG)
https://TENANT.sharepoint.com/:i:/r/SITE/LIBRARY/FOLDER/FILE.jpg?csf=1
(ファイル GIF)
https://TENANT.sharepoint.com/:i:/r/SITE/LIBRARY/FOLDER/FILE.gif?csf=1
(ファイル ZIP)
https://TENANT.sharepoint.com/:u:/r/SITE/LIBRARY/FOLDER/FILE.zip?csf=1
モダンUIのドキュメントライブラリで ファイル(またはフォルダ)を選択して [リンクのコピー(Copy link)]をクリックした場合は、クラシックUIで取得したリンクに eパラメータ 英字 6文字が付加されます。
(フォルダ)
https://TENANT.sharepoint.com/:f:/r/SITE/LIBRARY/FOLDER?csf=1&e=(6chars)
(ファイル Excel)
https://TENANT.sharepoint.com/:x:/r/SITE/LIBRARY/FOLDER/FILE.xlsx?d=(33chars)&csf=1&e=(6chars)
URLパラメータ(要素)ごとの意味を考える
制限付きリンクを表す「:(1char):/r/」以外にも、「d=(33chars)」、「csf=1」、「e=(6chars)」の3つが謎な付加パラメータです。
「d=(33chars)」は、ExcelやWordなどのOfficeファイルに付加されるもので、Office Onlineでファイルを開くためのパラメータですね。dパラメータをURLから外すと、Office Onlineではなく クライアントアプリケーションで ファイルを開こうとします。
「csf=1」は、StackExchangeのQ&A でも取り上げられていますが、「Connected Services Framework」の略だとか、諸説あるようですが はっきりしません。このパラメータを外しても 普通にファイル表示できるので あまり重要ではないかも。
「e=(6chars)」は、モダンUIの場合にだけ追加されるパラメータなのですが、このパラメータも謎です。ハッシュ値なのか 暗号化キーなのか 謎な 6英字。このパラメータを外しても 普通にファイル表示できるので あまり重要ではないかも。