Créer un onglet Microsoft Teams avec la Boîte à outils Microsoft Graph
Cette rubrique présente la méthode pour commencer à utiliser la Boîte à outils Microsoft Graph dans une solution Microsoft Teams. Ce guide concerne une application monopage sans authentification unique (SSO) et ne nécessite pas de back-end. Il utilise le Kit de ressources Teams comme système de génération automatique.
La création d’un onglet implique les étapes suivantes :
- Créez un nouvel onglet Teams à l’aide de React et de l’interface utilisateur Fluent avec le Kit de ressources Teams.
- Remplacez le contenu du
Tab.tsx
fichier. - Initialisez le fournisseur TeamsFx.
- Ajoutez des composants.
- Testez votre application.
Créer un nouvel onglet Teams à l’aide de React et de l’interface utilisateur Fluent avec le Kit de ressources Teams
Pour commencer, consultez Créer un projet Teams pour que votre onglet soit opérationnel. Lorsque vous êtes invité à choisir les fonctionnalités de votre nouvelle application, sélectionnez React avec l’interface utilisateur Fluent. Lorsque vous êtes invité à choisir un langage de programmation, sélectionnez TypeScript. Pour le reste, parcourez le chemin d’accès normal de l’Assistant.
Remplacer le contenu du Tab.tsx
fichier
Supprimez le contenu du /src/components/Tab.tsx
fichier et utilisez le code suivant. Cela vous aidera à vous concentrer sur l’objectif à atteindre.
import { useContext } from "react";
import { TeamsFxContext } from "./Context";
import React from "react";
import { applyTheme } from "@microsoft/mgt-react";
import { Button } from "@fluentui/react-components";
export default function Tab() {
const { themeString } = useContext(TeamsFxContext);
const [loading, setLoading] = React.useState<boolean>(false);
const [consentNeeded, setConsentNeeded] = React.useState<boolean>(false);
React.useEffect(() => {
applyTheme(themeString === "default" ? "light" : "dark");
}, [themeString]);
return (
<div>
{consentNeeded && (
<>
<p>
Click below to authorize button to grant permission to using
Microsoft Graph.
</p>
<Button appearance="primary">Authorize</Button>
</>
)}
{!consentNeeded && <></>}
</div>
);
}
Initialiser le fournisseur TeamsFx
Les fournisseurs du Kit de ressources Microsoft Graph permettent l’authentification et l’accès à Microsoft Graph pour les composants. Pour en savoir plus, consultez Utilisation des fournisseurs. Le fournisseur TeamsFx gère toutes les logiques et interactions qui doivent être implémentées avec le SDK Teams pour authentifier l’utilisateur.
Pour initialiser le fournisseur dans votre code JavaScript, ajoutez le code suivant dans la imports
section de votre fichier :
import { Providers, ProviderState } from "@microsoft/mgt-react";
import { TeamsFxProvider } from "@microsoft/mgt-teamsfx-provider";
import {
TeamsUserCredential,
TeamsUserCredentialAuthConfig,
} from "@microsoft/teamsfx";
const authConfig: TeamsUserCredentialAuthConfig = {
clientId: process.env.REACT_APP_CLIENT_ID!,
initiateLoginEndpoint: process.env.REACT_APP_START_LOGIN_PAGE_URL!,
};
const scopes = ["User.Read", "Calendars.Read"];
const credential = new TeamsUserCredential(authConfig);
const provider = new TeamsFxProvider(credential, scopes);
Providers.globalProvider = provider;
Dans le Tab
composant, avant l’instruction React.useEffect
, ajoutez ce qui suit :
React.useEffect(() => {
const init = async () => {
try {
await credential.getToken(scopes);
Providers.globalProvider.setState(ProviderState.SignedIn);
} catch (error) {
setConsentNeeded(true);
}
};
init();
}, []);
const consent = async () => {
setLoading(true);
await credential.login(scopes);
Providers.globalProvider.setState(ProviderState.SignedIn);
setLoading(false);
setConsentNeeded(false);
};
Remplacez par <Button>
le code suivant :
<Button appearance="primary" disabled={loading} onClick={consent}>
Authorize
</Button>
Ajouter des composants
À présent, vous êtes prêt à ajouter l’un des composants du Kit de ressources Microsoft Graph. Les premiers composants que vous souhaiterez probablement ajouter sont une personne et un agenda. Tout d’abord, mettez à jour votre imports
pour @microsoft/mgt-react
:
import { Agenda, Person, applyTheme } from "@microsoft/mgt-react";
Ajoutez votre composant entre le <></>
en bas du fichier :
<Person personQuery="me" />
<Agenda></Agenda>
Tester votre application
- Appuyez
F5
ou utilisez dansRun and Debug Activity Panel
Visual Studio Code. - Sélectionnez une application Microsoft 365 cible dans laquelle les onglets personnels peuvent s’exécuter : Déboguer dans Teams, Déboguer dans Outlook ou Déboguer dans l’application Microsoft 365, puis choisissez Exécuter et déboguer.
Note Si vous recevez l’erreur HTTPS lors de l’exécution de votre onglet
It looks like the webpage at **https://localhost:53000/index.html#/tab** might be having issues, or it may have moved permanently to a new web address
, consultez les articles suivants :
Étapes suivantes
- Testez les composants dans le terrain de jeu.
- Posez une question sur Microsoft Q&A.
- Signalez des bogues ou déposez une demande de fonctionnalité sur GitHub.
- Consultez les exemples Microsoft TeamsFx.