承認申請用のリストを作成する

[Microsoft 365の活用ネタのまとめに戻る](https://qiita.com/Keiji_otsubo/items/5ddec87d5f1fd4e9f4af)


# リスト名

リスト名も初めは英語で作って後で変えた方がよさそう。

test Approvalと空白を入れてしまったので、URLをみると%20が含まれてしまいました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/e53c017c-c8c0-ff2a-4a46-a38bd411780b.png)

+ [リストに列を作成する際の注意点](https://tech.la-fra.com/2018/09/02/post-326/)
+ [SharePointの内部列名を確認する方法](https://jpdynamicscrm.github.io/blog/powerautomate/Look-up-internal-column-names-in-SPO/)

列名だけでないんですね。Listにも内部名があるんだな。

# マイリストをSharePointアクションの候補にでませんね

+ [Microsoft ListsのマイリストをSharePointアクションの候補に表示させる方法](https://yuri365lily.hatenablog.com/entry/2022/06/13/213143)

URLを直接入力したら、候補に出てきました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/3ae0f74b-c02c-b2ae-ddf5-f549fa95c3ad.png)


# リストのアイテムのリンクを作る

+ [SharePointリストのタイトル列を詳細ページのリンクにする](https://tamcom.jp/articles/hyperlink-sharepoint-list-title-to-detail-page)

```
https://<yourdomain>.sharepoint.com/sites/<yoursitename>/Lists/<yourlistname>/DispForm.aspx?ID=<youritemid>
```

マイリストを使っている場合は少し違いました。

```
https://fukadadenki-https://xxxxxx-my.sharepoint.com/personal/otsubo_xxxxxxx_co_jp/Lists/test%20Approval/DispForm.aspx?ID=2
```



これは設定したけど、何も変わったようには思えなかった。

```Json
{
   "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
   "elmType": "a",
   "txtContent": "@currentField",
   "attributes": {
      "target": "_self",
      "href": "='https://<yourdomain>.sharepoint.com/sites/<yoursitename>/Lists/<yourlistname>/DispForm.aspx?ID=' + [$ID]"
   }
}
```

列の色を動的に変える数式みたい

https://techcommunity.microsoft.com/t5/sharepoint/json-formula-help/m-p/956543


# 非表示時なっている列を表示する

表示されている列で右クリック、列の設定、列の表示/非表示を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/86ed0c24-9db3-206a-6f7e-214ecd564e11.png)

非表示の列にチェックを入れて更新します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/fe5b23a3-70d9-88e5-732b-ee11ae877c19.png)


# とりあえず承認の仕方を確かめる

https://www.acrovision.jp/service/sharepoint/?p=491

こんなところから、設定できるとは...


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/bf2e78c4-bf1b-66be-65dd-4ead1b990d50.png)


今回は「新しいアイテムが追加されたときに承認を開始する」をクリックします。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/4279fd22-dbb8-0e14-759a-07516ccaf651.png)

# テンプレートで使っている部品は何？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/d524f037-6b33-e859-6335-79025c1e9ef1.png)

### ①

アイテムが作成されたときにトリガーします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/bd877091-87b4-7211-4020-3d153652d5de.png)

### ②

自動承認プロセスを開始し、完了するまで待機します。承認は取り消し可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/978e6529-101e-8286-ae31-e28dfb95e4a9.png)

### ③


入力配列内の各項目に対してアクションのブロックを実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/ae5401c9-ca75-d1b5-9a7d-f872ab3166bd.png)


### ④

条件入力の評価に基づいて、実行するアクションのブロックを識別します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/126e5f44-8a9f-03dd-f35d-56f7ca30fa59.png)


### ⑤

この操作では、メール メッセージを送信します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/bed9b5b1-112d-8bdf-96b8-d0a6cb736f0b.png)

### ⑥


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/bd141975-d767-dd33-e6cc-2606f23cfdb0.png)


### ⑦

現在のユーザーのプロファイルを取得します。選択に使用できるフィールドの詳細: https://developer.microsoft.com/ja-jp/graph/docs/api-reference/v1.0/resources/user#properties

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/fb7072aa-89ff-867e-2ab8-5465cc0afb9a.png)


### ⑧

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/4546dcd8-da30-c129-2c52-c470cb522c50.png)


### ⑨


ロジック アプリの実行の実行を終了します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/d19fe2dc-b2ce-76e9-4bf3-f42f1a2f9b40.png)


# これを組み込んでみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/f326919d-d706-938a-6d1b-38673efa5552.png)


JSONコンテンツのスキーマを指定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/eb630a87-f1a6-299a-e398-df5a6b1c1450.png)


しかし、上記２つは毎度のことならがすぐには見つからない。何が検索のキーになっているのか全く理解できません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/4eed4381-2c3f-c946-462a-f3028b8a331e.png)

# trigerOutput()?['body/{Link}']は何？

自分で設定するとうまくいかないです。

リストに設定した列も出てこないので諦めていましたが、表示してない列がある？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/620736a7-2c15-163a-2f9e-f7f4a56bf1fc.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/9f4d9fde-c60c-0e42-9736-6477a13925da.png)

ここに素晴らしい解説がある。?が使ってあったので私はずっと三項算子と思っていました。ただ意味が分からんからMS独自の拡張かなって... 紛らわしい

https://qiita.com/h-nagao/items/be565fdac60a9b2968d5

+ inputパート : Peak codeで表示した部分
+ outputパート
  + outputの本体 (body)

のように分解されます。それぞれの情報には、trigger() に続く情報として、

+ inputパート : trigger()?['inputs']
+ outputパート : trigger()?['outputs']
  + outputの本体 (body) : trigger()?['outputs']?['body']

という数式でデータ取得ができます。(より下部の構造には?['xxxx']でアクセス)

actions()も基本的には同じです。おおよそinput, output, bodyパートから構成されています。
情報にアクセスする場合には (アクションは1つではないので、名前の指定が必要で) actions('action name')?['inputs'] などの数式を利用します。


+ [アクション リファレンス](https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/actions-reference)