SharePoint Onlineのモダンサイトでは、画面の統制を取るべく。かと思いますが、旧来まで使えていたスクリプトエディタWebパーツなどのカスタムを加えたページが使えなくなっています。
とはいえ、SharePointサイト上にカスタマイズを加えたページを表示させたいという欲求は高くあったりするので、今回はiFrameを使って、カスタムページを挿入してみたいと思います。
まずはSharePointサイトにアクセス。
ページライブラリの中にはaspxを含めることができますが、そのままではサイト ページ(モダンページ)のみが登録可能な状態となっています。
新規にファイルを作成すると、サイト ページのみが表示されます。
これではカスタマイズしたページは置けないので、従来のSharePointの表示に戻すを利用して、ファイルをアップロードしましょう。
左下にあるこのボタンを押しましょう。
すると、クラシック表示に切り替わりファイルのアップロードボタンが表示されます。
このアップロードでは、以下のような形で、aspxファイルのアップロードが可能です。
(HTMLファイルもアップロードできますが、MIMEがダウンロードとなっているので、ブラウザで表示することができません。HTMLファイルはそのまま拡張子を変更するだけでaspxファイルとすることができるので拡張子を変えておきましょう。)
ただし、残念ながらそのままではアクセス許可がないと表示されてしまいます。
これは、サイトコレクションに対してカスタムページの投稿許可がない為表示されます。(デフォルトでは投稿許可がありません。)
次のSharePoint PowerShellを実行することで許可を付加することができます。
SharePoint Online Management Shellから実行しましょう。
上部の変数は適宜変更ください。
$orgName="companyName"
$adminUPN="sharePointAdmin@companyName.onmicrosoft.com"
$address = "/sites/SiteCollectionName"
$siteAddres = "https://" + $orgName + ".sharepoint.com" + $address
$userCredential = Get-Credential -UserName $adminUPN -Message "Type the password."
Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $userCredential
Get-SPOsite $siteAddres | select DenyAddAndCustomizePages
Set-SPOsite $siteAddres -DenyAddAndCustomizePages 0
Get-SPOsite $siteAddres | select DenyAddAndCustomizePages
うまくいくとこんな感じでDenyAddAndCustomizePagesがEnabled Disabledと表示され、カスタムページを投稿できるようになります。(スクリプトは即時反映のようです。)
こうしておくことでモダンページ内にこのaspxファイルをiframeで張り付けることができるようになり、カスタマイズしたページを表示できるようになります。
(ただ、クラシックのSharePoint表示はいつまでできるのかちょっと不安なところもありますね。)
音楽:オムレットワルツ