0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ゲストユーザーをチームに追加する

Last updated at Posted at 2024-10-13

はじめに

Teamsに外部ユーザーのメールアドレスを入れて追加すれば
きちんとユーザーに通知→追加されるのでPowerAutomateでも同じようにTeamsのコネクタのチームのメンバーに追加のみでできるだろう…と見落としがちなのかもしれません。
それはね…、エラーでこけます。
なぜなら、手動で追加すると裏側でEntraIDにゲストユーザーを登録後、チャネルに追加されているからです。

※蛇足ですけどなんというか、
私のようなアプリとか自動化をやっているような者でもEntraIDって本当に切っても切れないものなんですよね。
ここがしっかりできていたら、なんでも楽なんですけどね…

やり方

じゃあ、EntraIDのコネクタからユーザーの作成アクションを追加すればいいの?ってなると思うのですが、このアクションには外部ユーザーにテナントに追加したよという通知するOr否の項目がないのです。

▽Notifyの項目が見当たらないユーザーの作成アクション、悲しい。
image.png

よって、困ったときのGraphAPIを利用してゲストユーザーを招待をする必要があります。

そう、簡単に言えばHTTPリクエストアクションがチームにメンバーを追加するアクションの前に必要なんです。
フローだとこんな感じ。

image.png

そしてHTTPリクエストは下記のような感じ。
image.png
これでEntraIDにゲストユーザーが登録され、かつ、
"sendInvitationMessage": trueとしておくと、下記のようなメールをテナントが勝手に送ってくれます。
image.png

ゲストユーザーにはこのメールのAccept invitationのメールでAcceptをクリックした後、チームに招待されましたの通知も別に届くので最終的には2通、メールが届く形となります。
※このメールがないとテナントに追加されたかどうかもわからずじまいになっちゃうので。

最後に

  • HTTPリクエストの後、環境がよっぽど整っていない限りは遅延を入れてあげてください。

  • 使い方の例としては各部署の担当者から申請(Formsとか)→承認後→自動ゲストユーザー追加などの形にしてあげるのもよいかもしれません。

  • 共有チャネルへのゲストユーザー自動追加方法は次回の課題として、もう少し調べてみます…:wave_tone4:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?