リンクの取得(制限付きリンク)

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

SharePoint

今回の記事は、制限付き(アクセス)リンクについて。最近、制限付きリンク(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パターンがあると、ファイル名を取得するなどのURLを解析するプログラム(PowerShellとか、C#とか)書くのが大変ですね(^-^;正規表現とか 字句解析とか せねば。

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英字。このパラメータを外しても 普通にファイル表示できるので あまり重要ではないかも。


2018年の記事

2017年の記事


風水吉凶方位 風水吉凶方位 |  奇門遁甲 奇門遁甲 |  金運神社 金運神社 |  仏像 仏像 |  論語 論語 |  般若心経 般若心経 |  二十四節気 二十四節気 |  菜根譚 菜根譚 |  SharePoint活用 SharePoint |  OneNote活用 OneNote |  ICT活用 ICT