以前、ブログで「SharePointのビューに擬似的なアクセス制限をかける方法」という記事を作成いたしました。
上記ブログの中で、SharePointリストをサイトコンテンツから非表示にする方法や、SharePointリストのビューを非表示にする方法について、紹介しました。
補足:SharePointリストをサイト コンテンツから非表示にする
前回はPnP PowerShellを用いましたが、PowerShellは管理者以外の方は少しハードルが高いと思いましたので、
今回はPower Automateを用いてSharePointリスト・ビューを非表示にする方法を紹介します。
内容としては、Power Automate中級者の方に向けた記事です。
前提
SharePointリスト・ビューの構成
今回使用するSharePointリストと、ビューの構成は以下のとおりです。
SharePointリストの名称はサンプルリストです。
また、ビューとしては以下を用意しました。
すべてのアイテム:すべての行を表示
営業部門:部署列が「営業」となっている行のみ表示
経理部門:部署列が「経理」となっている行のみ表示
「SharePoint に HTTP 要求を送信します」アクション
今回は、Power Automateの「SharePoint に HTTP 要求を送信します」アクションを使用します。
これは、SharePointへREST APIクエリを実行する事ができるアクションです。
詳細は以下URLを参照ください。
Power Automate で SharePoint の HTTP 要求の送信フロー アクションを操作する
Power Automateでは、SharePointに関する多くのアクションが提供されていますが、今回は既存アクションでは対応範囲外のため、本アクションを用いて対応します。
SharePointのリストを非表示にする方法
はじめに、SharePointのリストをサイトコンテンツから非表示にする方法について紹介します。
作成したPower Automateは以下のとおりです。
「SharePointにHTTP要求を送信します」アクションを選択し、以下の項目を入力します。
サイトのアドレス : 保存したSharePointのサイト
方法 : POST
URL : _api/web/lists/getbytitle(‘サンプルリスト’)
ヘッダー
Accept : application/json; odata=verbose
Content-Type : application/json; odata=verbose
IF-MATCH : *
X-HTTP-Method : MERGE
ボディ
{
”__metadata”: {“type”: “SP.List”},
”Hidden”: “true“
}
今回は更新処理のため、HTTPのPOSTを実行します。
また、ボディのHiddenをtrueにすると、サイトコンテンツから非表示、falseにすると表示されます。
上記フローを実行し、サイトコンテンツからSharePointリストが非表示となったことを確認してください。
補足: SharePointリスト名の代わりにGUIDの指定も可能
上記の説明において、URLの部分ではSharePointリスト名を指定していますが、代わりにリストのGUIDを指定することも可能です。
SharePoint に HTTP 要求を送信しますアクションのURLを以下のように指定してください。 それ以外は上記と同様です。
URL:_api/web/lists(‘GUID’)
GUIDは、SharePointリストの設定→リストの設定をクリックした際、ブラウザ上のURLに表示されるList=から取得できます。
また、取得した文字列はエンコードされていますので、%7B%7Dは除外してください。
イメージは以下です。
「List=%7B19a5d188-393e-4175-9ef0-58ec7ce7375d%7D」の場合は、
「19a5d188-393e-4175-9ef0-58ec7ce7375d」がGUIDとなる。
SharePointのビューを非表示にする方法
続いて、SharePointのビューを非表示にする方法について紹介します。
作成したPower Automateは以下のとおりです。
「SharePointにHTTP要求を送信します」アクションを選択し、以下の項目を入力します。
サイトのアドレス : 保存したSharePointのサイト
方法 : POST
URL : _api/web/lists/getbytitle(‘サンプルリスト’)/views/getbytitle(‘すべてのアイテム’)
ヘッダー
Accept : application/json; odata=verose
Content-Type : application/json; odata=verbose
IF-MATCH : *
X-HTTP-Method : MERGE
ボディ
{
”__metadata”: {“type”: “SP.View”},
”Hidden”: “true“
}
Hiddenをtrueにするとビュー一覧から非表示、falseにすると表示されます。
また、すべてのアイテム部分にビューの名前を記載すると、対応するビューが非表示となります。
非表示にしたいビューが複数ある場合には、ビュー名の一覧をアレイ変数で保持し、Apply to eachアクションでビューの個数分SharePointにHTTP要求を送信しますアクションをループさせることも可能です。
上記フローを実行し、SharePointリストのビューが非表示となったことを確認してください。
補足: SharePointビュー名の代わりにGUIDの指定も可能
前述したSharePointリストと同様に、ビュー名もGUIDを指定することが可能です。
SharePoint に HTTP 要求を送信しますアクションURLを以下のように指定してください。
それ以外は上記と同様です。
URL:_api/web/lists/getbytitle(‘サンプルリスト’)/views(‘GUID’)
GUIDは、SharePointリストの設定→リストの設定→ビュー→対象のビューをクリックした際のURLの「View=」から取得できます。 取得した文字列はエンコードされていますので、%7B%7Dは除外してください。
おわりに
今回はPower Automateを用いてSharePointリスト・ビューを非表示にする方法を紹介しました。
Power Automateを用いることで、PnP PowerShellよりお手軽に実装できるかと思いますので、 SharePointリストの管理者の方はお試しいただけると幸いです。
最後まで読んでいただき、ありがとうございました。
【こちらも合わせて読みたい】
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200
こんにちは。アーティサン株式会社の小刀稱(ことね)です。