Power Automate x MSGraphでTeamsのチームにメンバーを追加する
必要なアクセス許可
今回必要なアクセス許可の種類は以下です。
GroupMember.ReadWrite.All
事前にアクセス許可を設定しておきましょう。
Teamsのチームに追加する
下記のサンプルのようにするとチームに追加することができます。
チームへ追加 サンプル
{
"requests": [
{
"id": 1,
"url": "/groups/{GroupId}/members/$ref",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"@@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/{UserId}"
}
}
]
}
チームへ追加 パラメータの解説
url内のid:GroupIdを指定します。{}は不要です。
body内のid:UserIdを指定します。{}は不要です。
ここまででチームへ追加することができます。が・・・
Docs参考にしてもできない?
Docsを参考にしてもうまくいきません。@付きパラメータがエラーを吐いてしまうためです。
@@にすると解決します。(サンプルでは解決済み)
実行するとOffice365Groupに追加される
上記を実行すると、Azure ADでグループに追加できたのを確認できます。
Teams反映には時間がかかる
ただ、すぐにはTeamsには反映されません。反映には最大2時間かかるようです。
ご注意ください。
参考URL
グループにメンバーを追加する リファレンス
https://docs.microsoft.com/ja-jp/graph/api/group-post-members?view=graph-rest-1.0&tabs=http
Office 365 グループおよび Microsoft Teams
https://docs.microsoft.com/ja-jp/microsoftteams/office-365-groups#group-membership
MS Flow doesn't allow adding @ sign in the body of HTTP Action
http://www.suhail.cloud/2018/03/ms-flow-doesnt-allow-adding-sign-in.html