複数選択が許可されたユーザー列をHTTP要求送信アクションで空にする
SharePointのリストで追加された複数選択を許可されたユーザー列についてメモ。
リストには随時アイテムが登録されていくが、アイテム登録時に同列に指定されたユーザーにメールを送信した直後、ユーザー情報は削除(空に)して欲しいという要望がありましたのでトライしました。
■キーとなるコネクタとアクション
コネクタ:SharePoint
アクション:SharePoint に HTTP 要求を送信します
■設定する各項目
サイトのアドレス:対象リストが存在するサイトのアドレスを指定
方法:POST
URI:
_api/web/lists/GetByTitle('リスト名')/items(アイテムID)
ヘッダー:
{
"content-type ": "application/json;odata=verbose",
"If-Match": "*",
"X-HTTP-Method": "MERGE"
}
ボディ:
{
"列名Id": [0],
"列名StringId": ["0"]
}
※サンプルでは列名はusers
■フロー実行前後
before
after
■注意点
フローのトリガーがSharePointの「アイテムが作成または変更されたとき」だった場合、今回使用した「SharePoint に HTTP 要求を送信します」アクションでアイテムを編集した場合、フローの実行が無限ループとなります。
無限ループを回避するためには対策が必要なので注意すること。
例えば以下の通り。
- 条件アクションでフローを停止する
- 他の列を追加しフラグ扱いをしてフローを制御する
- トリガーの条件を指定する