ささみ学習帳 - sasami's study book

ささみ学習帳

Microsoft365 や Power Platform について学んだこと・アイデアのメモ

PowerAutomate クラウドフローでTeamsのチームからMicroosft365グループに関連づけられたSharePointサイトのURLを取得する

PowerAutomate クラウドフローを作っていて必要になったので、Teams のチームのIDから Micorosft365グループに接続されたSharePointチームサイトのURLを取得する手順を検証してみました。

 

 

×:Teams コネクタの各アクションではサイトのURLは取得できない

まずTeamsコネクタの「チームの取得」アクション。

こちらの出力には残念ながらサイトURLは含まれていません。

 

△:Office 365 Groupsコネクタのアクションで取得できるが難あり

SharePointサイトのアドレスの既定値は、Microsoft365グループのメールアドレスの@前と一致します。

そこで「自分が所有および所属しているグループの一覧」アクションの出力に含まれる"mailNickName"の値からサイトURLを作る事ができます。

 

フロー

「自分が所有および所属しているグループの一覧」アクションの出力はアレイになっていますので、グループID(teamId)でフィルターしてMicrosoft365グループのmailNickNameを取得しています。

実行結果



【難点】SharePointサイトのアドレスを編集した後は一致しなくなる

ただし、SharePointサイトのアドレスは作成後の変更する事ができます。変更後はmailNickNameの値とは一致しなくなります。

 

○:Graph API で何とかする

標準アクションでできない時は「HTTP要求を送信する」アクションでAPIを使って解決です。

learn.microsoft.com

 

https://graph.microsoft.com/v1.0/groups/{griupId}/sites/root

 

ドキュメントページにこのように書かれており正攻法なアプローチのようです。

 

フロー

 

実行結果

フローを実行してみると、APIを実行した出力に"webUrl"でSharePointサイトのURLが取得できています。

 

注意点

SharePointサイトのアドレスを変更した後しばらくはこのAPI呼び出しはエラーとなりました。変更後は時間をおいて試してみてください。



 

最後に

以上、Teams のチームからMicrosoft365グループに関連づけられているSharePointサイトのURLを取得してみる実験でした。

APIを利用するのが最も確実ですが、難点を許容できるのであればmailNicknameからのアプローチも手軽でありかもしれません。