LoginSignup
1
0

承認申請用のリストのアイテムにアクセス権を付与する【内容を整理】

Last updated at Posted at 2024-03-06

Microsoft 365の活用ネタのまとめに戻る

前回の内容では色々と試行錯誤した途中の情報も書いていたので、少々後でみたらややこしいです。
私自身のためにも本当に機能する部分だけで内容を整理したいと思います。

承認申請用のリストのアイテムにアクセス権を付与する

アイテムまたはファイルの共有を停止します

まずは、アイテムまたはファイルの共有を停止します。この部分は標準のアクションをそのまま使います。

image.png

パラメータ 値の説明
リストまたはライブラリ名 共有を停止するリストを選択します
ID 共有を停止するアイテムのIDを指定します。数値

マスターとして使用するリストに共有権限を与えたいグループを登録しています。

image.png

項目名 説明
タイトル 部門名称
Approver 承認者
canEdit 編集権限のあるグループ
canView 閲覧権限のあるグループ

住所変更届リストのアイテムに登録されている部門マスターのIDから編集権限のあるグループを取得します。

標準のアイテムの取得アクションを使います。

image.png

グループ情報をグループの名前から取得する

HTTP 要求アクションを使います。

image.png

IDは以下のように設定している

outputs('ApproverGroupMaster項目の取得')?['body/canEdit/Claims']
_api/web/sitegroups/getbyname('@{outputs('ApproverGroupMaster項目の取得')?['body/canEdit/Claims']}')

ヘッダ

Accept application/json;odata=verbose
Content-Type application/json;odata=verbose

取得したグループの情報からIDだけを取得する

JSON の解析アクションを使います。

image.png

解析の対象

@{body('グループ情報の取得_HTTP_要求')?['d']}

スキーマ

{
    "type": "object",
    "properties": {
        "Id": {
            "type": "integer"
        }
    }

スキーマは今までリストの項目が増えたときに毎回修正していたけど、使う分だけ設定しても機能するみたいです。今回はIDしか使わないので、IDだけを指定します

グループの権限を追加

HTTP 要求アクションを使います。
グループのIDを使ったところは プリンシパル Idと説明されています。

image.png

URI

_api/lists/getByTitle('019住所変更届')/items(@{triggerBody()?['entity']?['ID']})/roleassignments/addroleassignment(PrincipalId=@{body('グループのId_JSON_の解析')?['Id']},roleDefId=1073741827)
Role Definition Name Role Definition Id 日本語表記
Full Control 1073741829 フルコントロール
Design 1073741828 デザイン
Edit 1073741830 編集
Contribute 1073741827 投稿
Read 1073741826 閲覧
Limited Access 1073741825
View Only 1073741924
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0