【Power Automate】カスタムリストの [承認の状況] を変更する際の注意

# 📖 概要

リストの設定で [バージョン設定] > [コンテンツの承認] の設定を必須にしている場合、[**承認の状況** (_ModerationStatus)] 列が追加されます。**Power Automate** で [承認の状況] 列の状態を変更しようとする際の注意点です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111975/3691bf8a-56e6-6fcd-7027-7d42e97ee0b5.png)

:::note info
🆕 **承認の構成** 機能
[自動化] > [承認の構成] から、Teams の [承認] アプリと連動した承認機能がリリースされました。(2024/06)

[Lists での承認](https://support.microsoft.com/ja-jp/office/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88-%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AE%E6%89%BF%E8%AA%8Dlists-2bd0954d-5797-4be3-b78a-846f26338e17)

こちらの機能を有効にすると、[コンテンツの承認] の設定はできなくなります。
:::

## 🛠️ [コンテンツの承認状態を設定します] を使用して状態を変更する

現在の状態によって変更できない場合があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111975/f3d6af73-1216-b563-4f87-a63800dcfd29.png)


| 変更前    | 変更後    | 結果             | innerError                                                   |
| --------- | --------- | ---------------- | ------------------------------------------------------------ |
| 承認待ち  | 却下✗     | 変更できる       |                                                              |
| 承認待ち  | 承認済み✓ | 変更できる       |                                                              |
| 却下✗     | 承認待ち  | 変更できる       |                                                              |
| 却下✗     | 承認済み✓ | 502 (BadGateway) | 500 : アイテムの現在の状態は \"Denied\" で、次の処理 \"Approve\" を実装することはできません |
| 承認済み✓ | 承認待ち  | 502 (BadGateway) | 500 : アイテムの現在の状態は \"Approved\" で、次の処理 \"Submit\" を実装することはできません |
| 承認済み✓ | 却下✗     | 502 (BadGateway) | 500 : アイテムの現在の状態は \"Approved\" で、次の処理 \"Reject\" を実装することはできません |


# 🎁 付録

## 💊[承認の状況 (_ModerationStatus)] 列の書式設定サンプル

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111975/1f467e57-5ba6-4693-82de-124b2e539114.png)

```json
{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "style": {
    "cursor": "pointer",
    "min-height": "24px",
    "min-width": "130px",
    "display": "=if([$FSObjType] == '1', 'none', 'inline-flex')",
    "align-items": "center",
    "text-overflow": "ellipsis",
    "overflow": "hidden",
    "white-space": "nowrap",
    "box-sizing": "border-box",
    "padding": "4px 8px 5px 8px",
    "margin": "9px 0px 9px 0px",
    "border-radius": "14px",
    "border-width": "=if(@currentField == 0, '1px', '0')",
    "border-style": "solid"
  },
  "attributes": {
    "role": "button",
    "class": "=if(@currentField == 3, 'sp-css-borderColor-neutralTertiaryAlt sp-css-backgroundColor-BgLightGray--hover', if(@currentField == 2, 'sp-css-backgroundColor-BgMauve sp-css-backgroundColor-BgViolet--hover sp-css-color-MauveFont', if(@currentField == 1, 'sp-css-backgroundColor-errorBackground30 sp-css-backgroundColor-errorBackground30--hover sp-css-color-CoralFont', 'sp-css-backgroundColor-successBackground30 sp-css-backgroundColor-successBackground30--hover sp-css-color-MintGreenFont')))"
  },
  "children": [
    {
      "elmType": "span",
      "style": {
        "flex": "auto"
      },
      "txtContent": "@currentField.displayValue"
    },
    {
      "elmType": "span",
      "attributes": {
        "iconName": "ContextMenu",
        "class": "=if(@currentField == 3, 'sp-css-color-themePrimary', '')"
      }
    }
  ],
  "customRowAction": {
    "action": "openContextMenu"
  }
}
```

# 🔗 参考サイト

https://sharepoint.stackexchange.com/questions/306635/json-formatting-how-to-use-the-moderation-status-field