Wrikeã®ã¹ã¿ãããMicrosoft TeamsããµãŒãã¹ã«ã©ã®ããã«çµ±åãããããããŠãããäœã«ã€ãªãã£ããã«ã€ããŠã®å°ããªèå³æ·±ã話ãšãçµ±åããã»ã¹èªäœã«é¢ãã倧ããªæè¡çéšåã ã¡ãªã¿ã«ã圌ãã¯ãã£ããããªãªãŒã¹ãããæ¥ã«ãããè¡ãäžçã§æåã®1ã€ã§ããã
1 + 1 = 3
Wrikeã§ã®çµéšã§ã¯ãæœåšçãªè³Œå
¥è
ã¯ãããžã§ã¯ã管çã·ã¹ãã ãéžæãããšãã«ãæé ãªäŸ¡æ Œã®çµ±åã«ãŸããŸãé¢å¿ãæã£ãŠããŸãã å®éãå¿«é©ãªããŒãã¹ããã補åãæ¢åã®ãšã³ã·ã¹ãã ã«é©åãããããšããã¯ã©ã€ã¢ã³ãã®éžæã決å®ããèŠå ã«å€ãããŸããã
ãã¡ãããéçºè
ãäŒæ¥ãŠãŒã¶ãŒåãã®æãäžè¬çãªããŒã«ã«éäžããããšã¯éèŠã§ãããMicrosoft補åã¯å¿
ç¶çã«åªå
äºé
ã§ãã ãã ããçµ±åã®ããã«çµ±åãè¡ããªãããšãããã«éèŠã§ãã 1 + 1ã¯ãå€æ°ã®ãœãªã¥ãŒã·ã§ã³ãã¯ã©ã€ã¢ã³ãã«ä»å 䟡å€ããããããšããæå³ã§ã3ãäžããå¿
èŠããããŸãã
ãããã£ãŠãAzure Active DirectoryãOneDriveãããã³Office 365ãšã®çµ±åãäžè²«ããŠãµãŒãã¹ã«è¿œå ããŸãããããã®æé ã®æçµç®æšã¯ããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ãæ°åããšã«åãæ¿ãããããŠã£ã³ããŠéã§æ
å ±ãã³ããŒããããå人éã§æ
å ±ãã³ããŒãããããªãã·ãŒã ã¬ã¹ãªã¯ãŒã¯ã¹ããŒã¹ãäœæããããšã§ãããŒã ã¯ãŒã¯ã®ããã®ããŒã«ãšãµãŒãã¹ã¯æ·±byã§ã¯ãããŸããã
MS Teamsã¯è«ççãªæ°ããã¹ãããã§ããã 500人以äžã®åŸæ¥å¡ãæ±ããäŒæ¥ã®53ïŒ
ãäŒæ¥ã®ã¡ãã»ã³ãžã£ãŒã䜿çšããŠããŸãïŒ
SpiceWorksããŒã¿ïŒã ç§ãã¡ã¯ãäœæ¥ãè°è«ããŠãããŠãŒã¶ãŒãè°è«ã®çµæãããã«å®æœããããšã䟿å©ã ãšèããŸããã ãããã£ãŠãããŒã ã¯ãã€ã¯ããœãããšååããŠããã®ãããªç¶æ³ã§æãé©åãªãµãŒãã¹æ©èœãéžæããããŒã ã€ã³ã¿ãŒãã§ã€ã¹ã§ã®ææ©çãªå®è£
ãéããŠèããŸããã
ãã®çµæãWrikeãŠãŒã¶ãŒã¯ã¡ãã»ã³ãžã£ãŒãããããžã§ã¯ããšã¿ã¹ã¯ãçŽæ¥äœæã§ããããã«ãªãããããžã§ã¯ããæ°ããã¿ããšããŠããŒã ã«è¿œå ã§ããããã«ãªããŸããã çµ±åã§ã¯ããã£ã¹ã«ãã·ã§ã³ãšäžŠè¡ããŠãã¿ã¹ã¯ãžã®å€æŽïŒã¹ããŒã¿ã¹ãå®è¡è
ãæéãã³ã¡ã³ãïŒã®å°å
¥ããµããŒãããŠããŸãã
ã¡ãã»ã³ãžã£ãŒå
ã®ã¿ã€ã ã©ã€ã³ã§ã¬ã³ããã£ãŒãã衚瀺ã§ããããããããžã§ã¯ãã®è°è«ã¯ããå®è³ªçã§æ£ç¢ºã«ãªããè°è«ã®åå è
ã®åã«ããŸãã
ãããŠãã¡ãããæãããªæ©äŒãè¿œå ãããŸãã-ã¿ã¹ã¯ã«é¢ããéç¥ã¯ãé»åã¡ãŒã«ã ãã§ãªããTeamsã®ã¡ãã»ãŒãžã§ãåä¿¡ã§ããããã«ãªããŸããã
ãã®æ©èœã®éçºã«ã¯2ãæããããŸããã ãã®éãããŒã ã¯ããªãã«åœ¹ç«ã€ãããããªãèå³æ·±ãçµéšãåŸãŸããã
æè¡é¢ã«ã€ããŠ
Microsoft Teamsã®ã¿ãã¢ããªã±ãŒã·ã§ã³ã¯ã次ã®ãã®ã§æ§æãããŸãã
- manifest.jsonãã¡ã€ã«ãšãªãœãŒã¹ãã¡ã€ã«ãå«ããããã§ã¹ããå«ãã¢ãŒã«ã€ãã
- ããŒãžã®èŠæ±ãåŠçããå€éšHTTPãµãŒãã¹ïŒæ§æãã¿ãã®ã¡ã€ã³ããŒãžãåé€ã
ãã¹ãŠã®ããŒãžã¯ãMicrosoft Teamsã®iframeå
ã«ã¬ã³ããªã³ã°ãããŸãã ã¿ãã¢ããªã±ãŒã·ã§ã³ã®ãããã§ã¹ãã®äŸã¯ã
MSDNã§èª¬æãããŠããŸã ã
ãããã§ã¹ãã¹ããŒã ããããŸãã å·çæç¹ã§ã¯ãåè·¯ã®çŸåšã®ããŒãžã§ã³ã¯0.4ã§ããã
ãããã§ã¹ãã®äž»ãªãã£ãŒã«ãïŒ
Id
-GUIDãç°ãªãã¢ããªã±ãŒã·ã§ã³ãŸãã¯ç°ãªãç°å¢ã«å¯ŸããŠäžæã§ããå¿
èŠããããŸããIcons
-解å床ã44x44ããã³88x88ã§ããããã1.5 Kb以äžã®ã¢ã€ã³ã³ãconfigUrl
ã¯ããŠãŒã¶ãŒã«æåã«è¡šç€ºãããURLã§ãã ã¢ããªã±ãŒã·ã§ã³ã®æ§æãéå§ãããŸããcanUpdateConfig
ãŠãŒã¶ãŒãæ¢ã«è¿œå ãããã¢ããªã±ãŒã·ã§ã³ã®æ§æãå€æŽã§ãããã©ããã®ãµã€ã³ãneedsIdentity
-Teams JS APIãéããŠãŠãŒã¶ãŒã«é¢ããæ
å ±ãååŸã§ããŸããvalidDomains
ãã¡ã€ã³ãååšããä¿¡é Œã§ãããã¡ã€ã³ã®é
åã ã¯ã€ã«ãã«ãŒããèš±å¯ãããŸãã
ãããã§ã¹ããšãªãœãŒã¹ãæºåããåŸãçµæã®ã¢ãŒã«ã€ã
ãMicrosoft Teamsã«ã¢ããããŒãã§ããŸãã
Microsoft Teamsã€ã³ãã©ã¹ãã©ã¯ãã£ãšã®çžäºäœçšã¯ã
Microsoft Teams JS APIã©ã€ãã©ãªã«ãã£ãŠæäŸãã
ãŸã ã ã©ã€ãã©ãªã§ã¯æ¬¡ã®ããšãã§ããŸãã
- Azure Oauth2ãŸãã¯ãã®ä»ã®Oauth2ãããã€ããŒãä»ããŠæ¿èªã®ãããŒãå®è¡ããŸãã
- Azure Active Directoryã«é¢ããææ°ã®ãŠãŒã¶ãŒæ
å ±ããã£ãã«IDãããŒã ãããã³ã°ã«ãŒããååŸãã
- ã¿ãèšå®ã®åä¿¡ãšä¿å
- ã€ãã³ãã®ãã³ãã©ãŒãèšå®ããŸããèšå®ã®ä¿åãããŒãã®å€æŽãã¿ãã®åé€ã
- ã¿ãã§éžæãããªããžã§ã¯ããžã®ãªã³ã¯ãçæããŠã¯ãªããããŒãã«ã³ããŒããŸãã
ã©ã€ãã©ãªã䜿çšããã«ã¯ãã©ã€ãã©ãªãæ¥ç¶ããã¢ããªã±ãŒã·ã§ã³ã®åããŒãžã§åæåããå¿
èŠããããŸãã
<script src="https://statics.teams.microsoft.com/sdk/v0.4/js/MicrosoftTeams.min.js"></script> ... <script type="text/javascript"> microsoftTeams.initialize(); </script>
ãã«ãããŒãžæ§æãšAzure ADããã³
Wrikeã¢ã«ãŠã³ãã®ãªã³ã¯ãåãããµã³ãã«MsTeamsã¢ããªã±ãŒã·ã§ã³ãæ€èšããŠãã ããã
ããã€ãã®iframeïŒèšå®ãã¿ãïŒããã³Oauth2ãªãã€ã¬ã¯ãã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®è©³çŽ°ã«ã¯ãèšå®ãšã以åã«è¿œå ãããã¿ãã§ã®ã¢ããªã±ãŒã·ã§ã³ã®è¡šç€ºã®äž¡æ¹ã«ã€ããŠãè€éã§ã¯ãããå
žåçãªãããŒãå¿
èŠã§ãã
äž»ãªããã»ã¹ïŒ
- ãŠãŒã¶ãŒã¯ãMicrosoft Teamsã«æ°ããã¿ããè¿œå ããŸãã
- æš©éã®ãªããŠãŒã¶ãŒã¯ã以åã«è¿œå ãããã¿ãã«ç§»åããŸãã
- èš±å¯ããããŠãŒã¶ãŒã以åã«è¿œå ãããã¿ãã«ã¢ã¯ã»ã¹ããŸãã
ã¿ããè¿œå ããããã»ã¹ã次ã®å³ã«ç€ºããŸãã éè²ã¯Microsoft TeamsããŒãžãç·è²-ã¢ããªã±ãŒã·ã§ã³ã®ããŒãžãçœè²-ãªã¯ãšã¹ããåŠçããããã®ã³ãŒããšã¢ã¯ã·ã§ã³ã瀺ããŸãã
ããããããŒãžã®ããŒãžã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã«é¢ããåºæ¬æ
å ±ãšãAzure ADã§ã®æ¿èªã®ãããŒãéå§ãã[æ¥ç¶]ãã¿ã³ã衚瀺ãããŸãã
ã³ãŒã«ããã¯URLãã³ãã©ãŒã¯ä»¥äžãè¡ãå¿
èŠããããŸãã
- Azure ADã§ãŠãŒã¶ãŒæ
å ±ãèŠæ±ããŸãïŒããšãã°ã Microsoft Azure AD Graph APIãäœ¿çš ïŒã
- åä¿¡ããæ
å ±ãã©ãåŠçãããã決å®ããŸããã·ã¹ãã ã«æ°ããã¢ã«ãŠã³ããäœæããããæ¢åã®ã¢ã«ãŠã³ãã䜿çšããŸãã
- ããšãã°ãã»ãã·ã§ã³Cookieãçºè¡ããŠãã·ã¹ãã ã«ãã°ã€ã³ããŸãã
- èªèšŒãæåããå ŽåãèªèšŒã¯æ°ãããŠã£ã³ããŠã§éå§ãããã³ãŒã«ããã¯ã¯èªèšŒã®ãšã³ããã€ã³ãã§ãããããã³ãŒã«ããã¯URLããŒãžã¯åçŽã«éããå¿
èŠããããŸãã
- æ¿èªã«å€±æããå Žåãã³ãŒã«ããã¯URLããŒãžã«ã¯ããŠãŒã¶ãŒã«å€±æã®çç±ãããšãã°ããŠãŒã¶ãŒã«ããã¢ã¯ã»ã¹ã®æåŠãAzureã¢ããªã±ãŒã·ã§ã³ãžã®ã¢ã¯ã»ã¹ã®æ¬ åŠãªã©ã衚瀺ãããŸãã
èšå®ããŒãžã¯èšå®ããŒãžã§ãã ã¿ããè¿œå ãããšããããã³ä»¥åã«è¿œå ããã¿ãã®ã¡ãã¥ãŒã®[æ§æ]ãªãã·ã§ã³ã䜿çšããŠèŠæ±ãããŸãïŒãããã§ã¹ãã§
canUpdateConfig
ãã©ã°ãèšå®ãããŠããå ŽåïŒã
Azure ADã®ãã«ãããã³ãã¢ããªã±ãŒã·ã§ã³ãä»ããŠOauth2æ¿èªãå®è¡ãããµã³ãã«ã³ãŒãïŒã€ãŸããããããããŒãžã®ã³ãŒãäŸïŒã¯æ¬¡ã®ããã«ãªããŸãã
<script src="https://statics.teams.microsoft.com/sdk/v0.4/js/MicrosoftTeams.min.js"></script> <input type="button" onclick="startAuth()" value="..."/> <script type="text/javascript"> microsoftTeams.initialize(); var startAuth = function() { microsoftTeams.authentication.authenticate({ url: 'https://login.windows.net/common/oauth2/authorize' + '?response_type=code%20id_token' + '&scope=openid' + '&response_mode=' + form_post + '&client_id=' + <YOUR_AZURE_APP_CLIENT_ID> + '&resource=https%3a%2f%2fgraph.windows.net' + '&nonce=' + <MS_NONCE> + '&state=' + <OAUTH2_STATE> + '&redirect_uri=' + encodeURIComponent('http://localhost/callback'), width: 700, height: 500, successCallback: onAuthSuccess, failureCallback: onAuthFailure }); }; var onAuthSuccess = function() { console.log('Auth success'); document.location.href='http://localhost/setup'; }; var onAuthFailure = function() { console.log('Auth failed'); microsoftTeams.settings.setValidityState(false); }; </script>
ãã©ã¡ãŒã¿ïŒ
redirect_uri
-GETãªã¯ãšã¹ãidTokenãæž¡ãããã³ãŒã«ããã¯ãã³ãã©ã®URLã Azure ADã®ã¢ã«ãŠã³ããã·ã¹ãã å
ã®ã¢ã«ãŠã³ãã«æ¥ç¶ããããã®ã¢ã¯ã»ã¹ããŒã¯ã³ããªãã¬ãã·ã¥ããŒã¯ã³ãããã³ãŠãŒã¶ãŒæ
å ±ãååŸã§ããŸããYOUR_AZURE_APP_CLIENT_ID
ã¢ããªã±ãŒã·ã§ã³èå¥åãMS_NONCE
ã¯ã©ã³ãã ã«çæããããã³ã¹ã§ãããAzure Oauth2ã®ç¶æ
ã«é¡äŒŒããŠããŸããOAUTH2_STATE
-Oauth2ç¶æ
ãã³ãŒã«ããã¯ãã³ãã©ãŒã§ç¢ºèªããå¿
èŠããããŸãã
ãããŒèªèšŒã®éå§ã¯ãTeams JS APIã®
microsoftTeams.authenticate
ã¡ãœããã«ãã£ãŠæäŸãããŸãã
window.open
ãæ瀺çã«åŒã³åºãå¿
èŠã¯ãããŸããã
onAuthSuccess
ã
onAuthFailure
ã¯ãèªèšŒãŠã£ã³ããŠãéããããœãŒã¹ããŒãžã®ã³ã³ããã¹ãã§åŒã³åºãã
onAuthFailure
ã
ã¿ã€ã ã¢ãŠãã«é¢ããŠ
Oauth2 flow
ãéå§ããããå®å
šã§ä¿¡é Œæ§ã®é«ãæ¹æ³ã¯ã
OAUTH2_STATE
ãçæãããŠãŒã¶ãŒã
login.windows.netã«ãªãã€ã¬ã¯ããããã³ãã©ãŒãèŠæ±ããããš
ã§ã ã
Azure ADã®ã¢ããªã±ãŒã·ã§ã³ã®äœæãšæ§æã®è©³çŽ°ã«ã€ããŠã¯ã
ãã¡ããã芧ãã ãã ã
èšå®ãä¿åããããã®ã»ããã¢ããããŒãžã®ãµã³ãã«ã³ãŒãã以äžã«ç€ºããŸãã
<script src="https://statics.teams.microsoft.com/sdk/v0.4/js/MicrosoftTeams.min.js"></script> <input id="name" type="text" placeholder="Enter your name" onkeyup="validate()"/> <script type="text/javascript"> microsoftTeams.initialize(); var isNameValid = function() { return jQuery('#name').val().trim().length > 0; } var validate = function() { </script>
ãã©ã¡ãŒã¿ïŒ
contentUrl
ã¿ããéããããšãã«è¡šç€ºãããããŒãžã®ã¢ãã¬ã¹ãsuggestedDisplayName
ã¿ãã®ååãwebsiteUrl
-Microsoft Teamsã¡ãã¥ãŒãããªã³ã¯ãéããŸãã
次ã®ã³ãŒãã¯ã次ã®Teams JS APIã¡ãœããã䜿çšããŸãã
microsoftTeams.settings.setValidityState
[ä¿å]ãã¿ã³ãæå¹ãŸãã¯ç¡å¹ã«ããŸããmicrosoftTeams.settings.registerOnSaveHandler
èšå®ãä¿åããããã®ã€ãã³ããã³ãã©ãŒãsaveEvent.notifyFailure
ã notifySuccess
èšå®ãä¿åããéã®æåãŸãã¯å€±æã«ã€ããŠTeamsã€ã³ãã©ã¹ãã©ã¯ãã£ã«éç¥ããŸããmicrosoftTeams.settings.setSettings
ã¿ãã®èšå®ãä¿åããŸãã
以åã«è¿œå ãããã¿ããžã®ãŠãŒã¶ãŒãã°ã€ã³ã®ããã»ã¹ãæ€èšããŸãã ããã§ã¯æ¬¡ã®ãªãã·ã§ã³ãå¯èœã§ãã
- ãŠãŒã¶ãŒã¯æ°èŠã§ãããã·ã¹ãã ã«é¢é£ä»ããããŠããŸããã
- ã·ã¹ãã ã§èªèãããŠããããèš±å¯ãããŠããªããŠãŒã¶ãŒã
- èš±å¯ãŠãŒã¶ãŒã
èªèšŒã¯ãã·ãŒã ã¬ã¹ãã§ãããããAzure ADã§ã®èªèšŒåŸã«ã·ã¹ãã ã®ã¢ã«ãŠã³ãã«æ°ãããŠãŒã¶ãŒãè¿œå ããã ãã§ãã ããã¯ã以åã«è¿œå ãããã¿ããå
¥åããããã»ã¹ã§ãã
Microsoft Teamså
ã®çµç¹æ§é ã¯æ¬¡ã®ãšããã§ãã
- ããŒã ã¢ã«ãŠã³ãã«ã¯å€ãã®ããŒã ãå«ããããšãã§ããŸãã
- ããŒã ã¯å€ãã®ãã£ãã«ãæã€ããšãã§ããŸãã
- ãã£ã³ãã«ã«ã¯å€ãã®ã¿ããå«ããããšãã§ããŸãã
ã¿ãèšå®ãšãŠãŒã¶ãŒæ
å ±ã¯ã
context
ãš
settings
ïŒMicrosoft Teams JS APIããïŒãä»ããŠå©çšã§ããŸãã
課é¡ãšè§£æ±ºç
ãã®ãããªæ§é ã§ã¯ã©ã®ãããªå°é£ãçããå¯èœæ§ããããŸããïŒ
WrikeããŒã ã¯ããŠãŒã¶ãŒãAzure ADã§æ¿èªãããããšã決å®ããŸããã ãŠãŒã¶ãŒããŒã¿ïŒ
upn
ïŒãŠãŒã¶ãŒããªã³ã·ãã«åãŸãã¯ã¡ãŒã«ïŒã
teamId
ã
channelId
ã¯JS APIããã¢ã¯ã»ã¹ã§ããŸããããã®ããŒã¿ã¯ããã¯ãšã³ãåŽã§æ€èšŒã§ããŸãã
teamId
ADã®ã¢ããªã±ãŒã·ã§ã³ã管çè
æš©éãå¿
èŠãšããæš©éãèŠæ±ããå Žåã®ã¿ã ããã¯ãAzure Graph APIã®æ©èœã«ãããã®ã§ããçµç¹ã®æ§é ã«é¢ããæ
å ±ã¯ã管çè
ã®åæããªããã°å©çšã§ããŸããã ãã®æ¹æ³ã¯ãAzure AD管çè
ã®ã¿ããã£ãã«ã«ã¿ããè¿œå ã§ãããšããç¹ã§äžäŸ¿ã§ãã
ãã£ã³ãã«ã«è€æ°ã®ã¿ããããå ŽåããŠãŒã¶ãŒãã©ã®ã¿ããéã
tabId
ãŸããïŒ
tabId
ã¯ãããŸããããçæããããšã¯ã§ããŸããã詳现ã¯ä»¥äžãåç
§ããŠãã ããïŒã ã«ã¹ã¿ã èšå®ã®ä¿åã¯settings.customSettingsã§ã®ã¿äœ¿çšã§ããŸããã
settings.customSetting
ããŒãžããã®ã¿ã¿ãããŒãžãã
settings
ã¢ã¯ã»ã¹ããããšã¯ã§ããŸããã
ãããã®åé¡ã解決ããã«ã¯ïŒ
teamId
ã
channelId
ã
tabId
ã«é¢ããããŒã¿åéã¯ããŠãŒã¶ãŒã®æ¿èªäžã«æŽçããã¢ããªã±ãŒã·ã§ã³ã®åŽã«ä¿åã§ããŸãã ã¿ãå
ã®ãŠãŒã¶ãŒããã®ãªã¯ãšã¹ãã¯ãçŸåšã®ã³ã³ããã¹ãïŒ
microsoftTeams.getContext
ïŒã®ããŒã¿ã«åºã¥ããŠæ€èšŒã§ããŸãã
ã¿ãèå¥åã¯ãããšãã°æ¬¡ã®ããã«æ§æããŒãžã«è¿œå ããããšãã«çæã§ããŸãã
microsoftTeams.settings.registerOnSaveHandler(function (saveEvent) { microsoftTeams.settings.getSettings(function(settings) { var tabId = generateOrGetTabId(settings); var customSettings = { tabId: tabId }; microsoftTeams.settings.setSettings({ contentUrl: 'http://localhost/tabContent?tabId=' + tabId, ... customSettings: JSON.stringify(customSettings) }); saveEvent.notifySuccess(); }) });
ããŒãžã³ãŒãã®[
settings
]ã¿ãã«ã¢ã¯ã»ã¹ã§ããªãããã
contentUrl
query string
ãã©ã¡ãŒã¿ãŒãæž¡ããŸãã æåã«ã¿ããè¿œå ãããšãã«ã®ã¿
tabId
ãçæããŸãã åæ§ææã«ã¯ã以åã«æå®ãããã®ã䜿çšããŸãã GenerateOrGetTabIdããããæ
åœããŸãã
settings.customSettings
ãã£ãŒã«ãã䜿çšãããšãçæããã
tabId
æååãšã·ãªã¢ã«åãããJSONãªããžã§ã¯ãã®äž¡æ¹ãšããŠä¿åã§ããŸãã
çµè«ãšããŠãã¿ããŸãã¯ã¿ãå
ã®ç¹å®ã®ã³ã³ãã³ããžã®ãªã³ã¯ãçæããæ¹æ³ã§ãã
deepLinks
ãªã³ã¯ã«ã€ããŠ
deepLinks
ãããšæããŸãã
å·çæç¹ã§ã¯ããªã³ã¯ãçæããæ¹æ³ã¯2ã€ãããŸãã
- ã€ã³ã¿ã©ã¯ãã£ã
microsoftTeams.shareDeepLink
ã䜿çšããŸãã ãã®å ŽåããŠãŒã¶ãŒã¯ååã®å
¥åãæ±ãããããªã³ã¯ãã¯ãªããããŒãã«ã³ããŒãããŸãã ãã®ãããªãªã³ã¯ã¯ãã£ããã§èªèããããŠãŒã¶ãŒãå
¥åããããã¹ããšããŠã¬ã³ããªã³ã°ãããæå®ãããentityId
ããã³entityId
ã¿ãã«ç§»åããŸãã 詳现ãªèª¬æã¯ãã¡ãã§ãã - é察話å-ã¢ããªã±ãŒã·ã§ã³IDïŒãããã§ã¹ãããïŒãã¿ãã®ã³ã³ããã¹ããããã³ä»ã®ãã©ã¡ãŒã¿ãŒïŒ
entityId
ã entityId
ãªã©ïŒãèæ
®ããŠãªã³ã¯ã圢æããŸãã ãã®ãããªãªã³ã¯ã¯ãããšãã°ãããããã®ã¡ãŒã«ãã¡ãã»ãŒãžãªã©ãããŸããŸãªéç¥ã«äœ¿çšã§ããŸãã
deepLinks
圢ææ¹æ³ã®èª¬æã¯ã
MSDNã«ãããŸãã ããã«ãäž¡æ¹ã®ã¡ãœããã¯
microsoftTeams.settings
䜿çšããå¿
èŠããªããããã¿ãããŒãžã®ã³ãŒãã§å®è¡å¯èœã§ããããšã«æ³šæããŠãã ããã
Teams JS APIã¯ç©æ¥µçã«éçºããŠãããéçºããã»ã¹äžã«ããŒãžã§ã³ã0.2ãã0.4ã«å€æŽãããŸããã ããã«ãããããšã¿ãã®ãããã§ã¹ããäžè¬çã«ãªããŸããã
Wrikeãšã®çµ±åã«ã¯ãAzure AD Graph APIãšMicrosoft Graph APIã䜿çšãããŸããã ãã®ããã»ã¹ãšãªãªãŒã¹åŸããã€ã¯ããœããã®ååãšç·å¯ãªã³ãã¥ãã±ãŒã·ã§ã³ãåãããã£ãŒãããã¯ãèæ
®ããŸããã
Wrikeã®ã¡ã³ããŒãã³ãã¥ãã±ãŒã·ã§ã³ã®éçšã§çºèšããããšããé¡ãã®äžéšã- ããŒã æ
å ±ã¯ãTeams JS APIããã³/ãŸãã¯Graph APIã§å©çšå¯èœã§ãªããã°ãªããŸããã
- microsoftTeams.settingsèšå®ãžã®ã¢ã¯ã»ã¹ã¯ãèšå®ããŒãžã ãã§ãªãã¿ãã§ãå¿
èŠã§ãã
- tabIdã¯ãããŸãããã2çš®é¡ã®ãã£ãŒããªã³ã¯ãtabIdã®æ¬ åŠãéšåçã«çžæ®ºããŸããã
- Graph Oauth2æ¿èªã«ã¯ãããæè»ãªã¹ã³ãŒãã·ã¹ãã ãå¿
èŠã§ããããã¯ãAzure ADããã³ã管çè
ãã¿ããæ§æããããšãªããçŸåšã®ããŒã ã®ã¡ã³ããŒã®ãªã¹ããååŸããããã«å¿
èŠã§ãã
- ã¹ã¿ã€ã«ã®ã«ã¹ã¿ãã€ãºãããã€ãã£ããMicrosoft Teamsã¹ã¿ã€ã«ãžã®ã¢ã¯ã»ã¹ãæšæºã³ã³ãããŒã«ã®å€æŽã®ããã®ãããæè»ãªæ§æããŒãžèšå®ã ãã®ãããªèšå®ã«ãããæ§æãŠã£ã¶ãŒããããèªç±ã«äœæã§ããŸãã
ããŒã æ§æãžã®ã¢ã¯ã»ã¹ã®åé¡ã¯ã
Bot APIã§æ¢ã«å¯ŸåŠãããŠã
ãŸã ã Deep Linksã®æ©èœã®äžéšã¯ãããŒã ã®ãªãªãŒã¹ã®å°ãåã«å
¬éãããŸããã ãããããREST APIã¬ãã«ã§ã®ããŒã ãµããŒãã¯Microsoft Graph APIã«å®è£
ãããŸããããã¯ããã®APIãç©æ¥µçã«éçºãããŠãããOffice 365ã®ããŸããŸãªã³ã³ããŒãã³ããšã®å¯Ÿè©±ã䌎ãããã§ãã
ã¡ãªã¿ã«ãã¬ãã¥ãŒçšã®æ°ããç³è«æžãéä¿¡ããããã®ãã©ãŒã ã¯
ãã¡ãã«ãããŸã ã Wrikeãšã¯ã¹ããªãšã³ã¹ãããªãã«ãšã£ãŠæçã§ãããMicrosoft TeamsãŠãŒã¶ãŒãããŒã ã¯ãŒã¯ã®ããã®ããã«äŸ¿å©ãªããŒã«ãå
¥æã§ããããšãé¡ã£ãŠããŸãã
èè
ã«ã€ããŠ
Alexander Belyaev ã補åãããŒãžã£ãŒã 圌ã¯ãWrikeãªãŒãã£ãšã³ã¹ã®ãžã§ãã¹ããŒãªãŒã®éçºïŒå®äºãã¹ããžã§ãã®ã³ã³ã»ããã®ãã¬ãŒã ã¯ãŒã¯å
ïŒãæ
åœããããã«å¿ããŠããŠãŒã¶ãŒãäœæ¥ã®å
žåçãªã·ããªãªã®ãã¬ãŒã ã¯ãŒã¯ã§äœ¿çšããæ©èœãæ
åœããŠããŸãã 圌ã¯Wrike APIã®éçºãè¡ã£ãŠãããæŠç¥çããŒãããŒãšã®çµ±åãæ
åœããŠããŸãã 圌ã¯ç«ãšçŠ
ã倧奜ãã§ãã
Oleg Vashenkov ãããã¯ãšã³ãéçºè
ã Microsoftãšã®çµ±åã®ã³ã³ããã¹ãã§ã¯ãTeamsã¯ãã¢ã«ãŠã³ãã®æ¿èªãäœæãšçµ±åãTeamså
ã§äœæ¥ããããã®APIã®ãµããŒããšæ¡åŒµãæ
åœããŸãã 圌ã¯ããããã«ãœã³ã奜ãã§ã-æ°ãããã©ãããã©ãŒã ãããã€ã¹ã®ã¢ã€ãã¢ãå®çŸããä»äºãç掻ããã¬ãŒãã³ã°ããã¥ãŒãã³ã°ã競æãªã©ã®ãã·ã³ã®ããã®åœŒèªèº«ã®ãœãªã¥ãŒã·ã§ã³ãè©ŠããŠã¿ãŠãã ããã
ããã§ã¯ãMicrosoft Azureãç¡æã§è©Šçšã§ããããšããç¥ããããŸãã