Power Automate (旧 Microsoft Flow) でアイテムの権限を変更する
2018.12.03

こんにちは、MS開発部の 荒井 です。
前に Flow を見た際に、Flow が出た当初からすると様々なことができるようになっていることに驚きまして…。
この間弊社営業も、「Outlook と Google カレンダー の同期ができて便利!」と言っていました。このあたりが簡単にできるのはやはり長所ですね。
ただそんな Flow ですが、範囲を SharePoint に限るのであれば、今まで SharePoint Designer で作成していたワークフローとは使い勝手が違うのが現実。
そんな、「Flow でやりたいけどアクションが用意されてないよ!」ということの1つが 権限の設定 関連でしょうか。
今回はこれをやってみようと思います。
これが、
こうなるといった感じですね。
はい、2010形式のワークフローであれば代理ステップ内の1アクションで済んでいたものですが、こんなになっちゃいました。
箇条書きにすると以下のようになります。
概要
アイテムの権限設定で最初に思いついたのが、「投稿者や管理者以外はアイテムを編集できないようにしたい」というものでした。 これを実現するには「投稿者以外の投稿権限を閲覧権限に変更する」ことが必要になります。 実際に作成した Flow を使った際のビフォーアフターがこちら↓

方法
今回使用するのは「SharePoint に HTTP 要求を送信する」アクションです。 はっきり言ってしまえば、REST を使ってゴリゴリやるということですね。 それでは全体図を見てみましょう。
- 【When a new item is created】リストにアイテムが登録された時に開始
- 【変数の初期化】リストタイトルを設定(REST で使用)
- 【SharePoint に HTTP 要求を送信する】アイテムの権限継承を停止
- 【SharePoint に HTTP 要求を送信する】アイテムの権限を取得
- 【JSONの解析】アイテムに権限をもったグループ・ユーザーを取り出し
- 【Apply to each】グループ・ユーザーの数だけ繰り返し処理
- 【JSONの解析】グループ・ユーザーの持つ権限を取り出し
- 【Apply to each】グループ・ユーザーの持つ権限の数だけ繰り返し処理
- 【条件】権限が投稿権限かどうか判定
投稿権限の場合・・・
- 【SharePoint に HTTP 要求を送信する】投稿権限を削除
- 【SharePoint に HTTP 要求を送信する】閲覧権限を付与
- 【条件】権限が投稿権限かどうか判定
- 【SharePoint に HTTP 要求を送信する】投稿者のIDを取得
- 【JSONの解析】投稿者のIDを取り出し
- 【SharePoint に HTTP 要求を送信する】アイテムの投稿者に投稿権限を付与
以上、最後までご愛読いただき
ありがとうございました。
お問い合わせは、
以下のフォームへご連絡ください。