Existe-t-il un moyen de savoir si votre application s’exécute dans Microsoft Teams ?
Source : Stack Overflow [microsoft-teams]
Existe-t-il un moyen de savoir si votre application s’exécute dans Microsoft Teams ?
Source : Stack Overflow [microsoft-teams]
Comme vous l’avez probablement constaté, un appel à microsoftTeams.getContext(...) ne retourne jamais si vous n’êtes pas dans Teams.
J’ai donc un drapeau que je surveille avec un setInterval et si this._teamsContext est vrai et contient des valeurs cohérentes ; et seulement s’il a this._hasAttemptedConnection
C’est une méthode un peu détournée.
Un autre mécanisme que j’ai implémenté un peu plus tard était de passer un drapeau avec le point d’entrée de l’URL (dans notre cas : c’est un onglet Teams) https://<notreurl>?context=teams et d’utiliser le chemin de code Teams uniquement quand on est dans Teams.
J’ai vu des demandes sur le GitHub de Microsoft Teams .js pour retourner un échec de microsoftTeams.getContext(...) voir : existe-t-il une API pour détecter si on est dans Teams ou non ?
Avant le drapeau, j’avais du code TypeScript qui ressemblait à
WireTeams(): Promise<boolean> {
this._hasAttemptedConnection = false
return new Promise<boolean>((resolve, reject) => {
microsoftTeams.initialize()
microsoftTeams.getContext((context) => {
if (context === null || context === undefined) {
resolve(false)
}
this._teamsContext = context
})
})
this._hasAttemptedConnection = true
}