Microsoft Teams Graph API ã®æš©éãšã©ãŒã«æ©ãŸãããŠããŸãããïŒãããªæ©ã¿ãæ±ããŠããã®ã¯ããªãã ãã§ã¯ãããŸããããã®ããããé害ã¯ãTeams ã§ã®ã¢ããªçµ±åããããã®å±éãèªååãããŒã®åæ¢ãåŒãèµ·ãããŸããã§ããå®å¿ãã ãããMicrosoft Teams ã®ãGraph APIãæš©éãšã©ãŒã¯ãæ£ããæé ãèžãã°ç°¡åã«è§£æ±ºã§ããŸãããã®ã¬ã€ãã§ã¯ãTeams ã¢ããªãåã³ã¹ã ãŒãºã«åäœãããããã®å®çšçãªè§£æ±ºçãã玹ä»ããŸãããããæ©éå®è·µããŠçç£æ§ãåãæ»ããŸãããïŒâ
Microsoft Teams ã§Graph API æš©éãšã©ãŒãçºçããåå ã¯äœã§ãã?
Graph APIã¯ããã£ãã«ç®¡çãã¡ãã»ãŒãžã³ã°ããŠãŒã¶ãŒããŒã¿ãžã®ã¢ã¯ã»ã¹ãšãã£ãTeamsã®æ©èœãå®çŸããŸããã¢ããªã«å¿
èŠãªæš©éããªãå Žåããæš©éäžè¶³ãããã¢ã¯ã»ã¹æåŠããªã©ã®ãšã©ãŒã衚瀺ãããŸããäž»ãªããªã¬ãŒã¯ä»¥äžã®ãšããã§ãã
- â Microsoft Entra ID (æ§ Azure AD) ã¢ããªç»é²åæããããŸããã
- â å§ä»»ãããæš©éãšã¢ããªã±ãŒã·ã§ã³ã®æš©éãäžèŽããŸããã
- â ããŒã¯ã³ã®æå¹æéãåããŠããããçºè¡è
ã®ã¹ããŒã¿ã¹ãæªç¢ºèªã§ãã
- â æ©å¯ã¹ã³ãŒãã«å¯ŸããŠããã³ãå
šäœã®ç®¡çè
ã®åæãä»äžãããŠããŸããã
ããããçè§£ããããšã§ãè¿
éãªè§£æ±ºçãå¯èœã«ãªããŸããæè¿ã®Graph APIã®ã¢ããããŒãã§ã¯ãã»ãã¥ãªãã£ã®ããã«æå°æš©éã¹ã³ãŒããéèŠãããŠãããé©åãªèšå®ãäžå¯æ¬ ã«ãªã£ãŠããŸãã
ã¹ããããã€ã¹ãããïŒMicrosoft Teamsã®ãGraph APIãæš©éãšã©ãŒã®è§£æ±ºæ¹æ³
å®èšŒæžã¿ã®æé ã«åŸã£ãŠãã ãããç¡é§ãªæéã¯äžèŠãçµæã ãã远æ±ããŸããã¢ããªç»é²ããå§ããŠãèªèšŒãžãšé²ã¿ãŸãããã
1ïžâ£ Microsoft Entra IDã§ã¢ããªãç»é²ãŸãã¯æŽæ°ãã
Microsoft Entra 管çã»ã³ã¿ãŒã«ã¢ã¯ã»ã¹ããŸãã
- [ã¢ããªç»é²] > [æ°èŠç»é²]ã«ç§»åããŸãã
- ã¢ããªã«ååãä»ããŸã (äŸ: ãTeams Graph Botã)ã
- ãã®çµç¹ãã£ã¬ã¯ããªå
ã®ã¢ã«ãŠã³ãã®ã¿ãéžæããŸãã
- ãªãã€ã¬ã¯ã URI: ãããã®å Žå㯠ã䜿çšããŸã
https://token.botframework.com/.auth/web/redirectã
ããã®ãã³ã:èªèšŒã®äžã§ID ããŒã¯ã³ãšã¢ã¯ã»ã¹ ããŒã¯ã³ãæå¹ã«ããŸãã
2ïžâ£ããŒã ã®Graph API æš©éãæ§æãã
[API ã¢ã¯ã»ã¹èš±å¯] > [ã¢ã¯ã»ã¹èš±å¯ã®è¿œå ] > [Microsoft Graph]ãã¯ãªãã¯ããŸãã
Microsoft Teams Graph APIæäœã«ã¯ã次ã®éèŠãªã¢ã¯ã»ã¹èš±å¯ããŒãã«ã䜿çšããŸãã
| ç¯å² |
ã¿ã€ã |
ããŒã ã§ã®ãŠãŒã¹ã±ãŒã¹ |
| ãã£ãã«.ReadBasic.All |
å§ä»»/ã¢ããªã±ãŒã·ã§ã³ |
ããŒã ãã£ã³ãã«ãèªã |
| ã°ã«ãŒã.èªã¿åãæžã蟌ã¿.ãã¹ãŠ |
å¿çš |
ããŒã /ã°ã«ãŒãã管çãã |
| ãã£ãã.èªã¿æžã |
å§ä»»ããã |
ã¡ãã»ãŒãžã®éåä¿¡ |
| ããŒã .ReadBasic.All |
å§ä»»ããã |
ããŒã äžèЧ |
åè: Microsoft Graph ã¢ã¯ã»ã¹èš±å¯ãªãã¡ã¬ã³ã¹ã®å
¬åŒã¹ã³ãŒãã
3ïžâ£ 管çè
ã®åæãåŸã
ã¢ããªã±ãŒã·ã§ã³ã®æš©éã«ã€ããŠã¯ãã[ããã³ã] ã«ç®¡çè
ã®åæãäžããããã¯ãªãã¯ããŸããããã«ãããGraph API ã®æš©éæåŠã«é¢ããã»ãšãã©ã®åé¡ã解決ãããŸãã
ð¡ Teams åºæã®ãã³ã:ãããã®å Žåã¯ãBot Frameworkã«ãç»é²ããMicrosoft ã¢ã㪠ID ããªã³ã¯ããŸãã
4ïžâ£ ããŒã¯ã³ãååŸããŠãã¹ããã
Postman ãŸã㯠Graph Explorer ã䜿çšããŸãã
- çµç¹ïŒ
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
- ä»äžã¿ã€ã: client_credentials (ã¢ããªæš©é) ãŸã㯠authorization_code (å§ä»»)ã
- ãã¹ã: GET /teams/{id}/channels
é åºãªãšã©ãŒã«å¯Ÿããé«åºŠãªãã©ãã«ã·ã¥ãŒãã£ã³ã°
ãšã©ãŒãç¶ãå Žå:
- ð ããŒã¯ã³ã®æå¹æéã確èªãã: MSAL.js ãŸãã¯åçã® SDK ã䜿çšããŠæŽæ°ããŸãã
- ð¡ïž ãã«ãããã³ãã® Entra ã§ã¢ããªããæ€èšŒæžã¿çºè¡è
ãã§ããããšã確èªããŸãã
- âïž ç£æ»ãã°: ãšã³ã㪠> ãµã€ã³ã€ã³ > ã¢ã㪠ID ã§ãã£ã«ã¿ãŒã
- ð ãã£ãã·ã¥ãã¯ãªã¢: åæãåãæ¶ããŠå床蚱å¯ããŸãã
Teams ã¿ã/ã¢ããªã®å Žåã¯ãmanifest.jsonwebApplicationInfoã«æå¹ãªã¢ã㪠ID ãå«ãŸããŠããããšã確èªããŸãã
ä»åŸã®Graph APIæš©éãšã©ãŒãé²ãããã®ãã¹ããã©ã¯ãã£ã¹
- â æå°éã®æš©éã䜿çšããŸããååæããšã«ç¢ºèªããŸãã
- ð PowerShell ã䜿çšããŠåæãèªååãã:
Grant-MgAppConsentPermissionã
- ð± åçãªããŒã¯ã³ç®¡çã®ããã« MSAL ãçµ±åããŸãã
- 𧪠å¿
ãæåã«éçºããã³ãã§ãã¹ãããŠãã ããã
ããŒãã¹:æš©éã®èª¿æŽã«ã€ããŠã¯ã Microsoft Graph ã®å€æŽãã°ã§ Graph ã®å€æŽãã°ãç£èŠããŸãã
æåããæºåã¯ã§ããŠããŸããïŒð
ããã§ãMicrosoft Teams Graph APIã®æš©éãšã©ãŒã¯è§£æ¶ãããã¯ãã§ãããããã®æé ãå®è¡ããŠãã¹ã ãŒãºãªé£æºããæ¥œãã¿ãã ããããå°ãã§ããïŒãã²äžã®ã³ã¡ã³ãæ¬ã«ãèšå
¥ãã ããããæäŒããããŠããã ããŸãããã®ã¬ã€ããã圹ã«ç«ãŠããªãããã²ã·ã§ã¢ããŠãã ããïŒð
ã¹ããŒããšä¿¡é Œæ§ãèŠæ±ããéçºè
åãã«æ§ç¯ãããŠããŸãã