urashineのTechてくてく👣

アウトプットするための環境

複数選択が許可されたユーザー列をHTTP要求送信アクションで空にする

複数選択を許可するオプション

複数選択を許可するオプション

SharePointのリストで追加された複数選択を許可されたユーザー列についてメモ。

リストには随時アイテムが登録されていくが、アイテム登録時に同列に指定されたユーザーにメールを送信した直後、ユーザー情報は削除(空に)して欲しいという要望がありましたのでトライしました。

■キーとなるコネクタとアクション

コネクタ:SharePoint

アクション:SharePoint に HTTP 要求を送信します

SharePoint に HTTP 要求を送信しますアクション

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

SharePoint に HTTP 要求を送信します(設定済み)

SharePoint / SharePoint に HTTP 要求を送信します(設定済み)



■フロー実行前後

before

フロー実行前

フロー実行前

after

フロー実行後

フロー実行後
■注意点

フローのトリガーがSharePointの「アイテムが作成または変更されたとき」だった場合、今回使用した「SharePoint に HTTP 要求を送信します」アクションでアイテムを編集した場合、フローの実行が無限ループとなります。

無限ループを回避するためには対策が必要なので注意すること。

例えば以下の通り。

  • 条件アクションでフローを停止する
  • 他の列を追加しフラグ扱いをしてフローを制御する
  • トリガーの条件を指定する