Vue d’ensemble de la classe GraphHttpClient (déconseillée)
Important
La classe GraphHttpClient a été déconseillée et ne doit plus être utilisée. Elle a été remplacée par MSGraphClient.
Vous pouvez utiliser Microsoft Graph pour créer de puissantes solutions d’accès aux données d’Office 365 et autres services Microsoft. Pour connecter les solutions SharePoint Framework (SPFx) à Microsoft Graph, vous devez enregistrer une application Azure Active Directory (AD Azure) et exécuter le flux d’autorisation. Pour simplifier cette tâche, vous pouvez utiliser la classe SPFx GraphHttpClient pour appeler Microsoft Graph directement, sans paramétrage supplémentaire.
Qu’est-ce que la classe GraphHttpClient ?
La classe GraphHttpClient est incluse dans SharePoint Framework. Elle fonctionne de façon similaire à la classe HttpClient que vous pouvez utiliser pour communiquer avec les API de tiers. La classe GraphHttpClient permet de s’assurer automatiquement que votre requête à Microsoft Graph possède un jeton d’accès de support valide et les en-têtes requis.
Lorsque vous émettez une requête GET ou POST, GraphHttpClient vérifie qu’elle possède un jeton d’accès valide. Si ce n’est pas le cas, elle en récupère un automatiquement à partir d’une API interne et le stocke pour une demande ultérieure.
L’exemple suivant montre une requête à Microsoft Graph qui utilise la classe GraphHttpClient.
// ...
import { GraphHttpClient, GraphHttpClientResponse } from '@microsoft/sp-http';
export default class MyApplicationCustomizer
extends BaseApplicationCustomizer<IMyApplicationCustomizerProperties> {
// ...
@override
public onRender(): void {
this.context.graphHttpClient.get("v1.0/groups?$select=displayName", GraphHttpClient.configurations.v1)
.then((response: GraphHttpClientResponse): Promise<any> => {
return response.json();
})
.then((data: any): void => {
// ...
});
}
}
Pour envoyer une requête à l’API Microsoft Graph :
Importez les modules GraphHttpClient et GraphHttpClientResponse à partir du package @ microsoft/sp-http.
Utilisez l’instance de GraphHttpClient, disponible sur la propriété
this.context.graphHttpClient, pour envoyer une requête GET ou POST à Microsoft Graph.Comme paramètres, spécifiez l’API de Microsoft Graph que vous souhaitez appeler (commencez par la version de l’API sans slash «
/» avant), suivi de la configuration GraphHttpClient.Si vous le souhaitez, vous pouvez spécifier des en-têtes de requête supplémentaires, qui seront fusionnés avec les en-têtes par défaut définis dans GraphHttpClient (
'Accept': 'application/json','Authorization': 'Bearer [token]'et'Content-Type': 'application/json; charset=utf-8').
Considérations relatives à la classe GraphHttpClient
La classe GraphHttpClient offre un moyen pratique de communiquer avec Microsoft Graph, car elle permet de supprimer le flux d’autorisation et la gestion des jetons d’accès. Étant donné que GraphHttpClient se trouve actuellement dans l’aperçu du développeur, il y a quelques considérations que vous devez prendre en compte avant de l’utiliser.
Utiliser Microsoft Graph pour l’accès uniquement
Utilisez la classe GraphHttpClient uniquement pour accéder à Microsoft Graph. L’URL spécifiée dans la requête doit commencer par la version de l’API Microsoft Graph (1.0 ou bêta), suivie de l’opération d’API. Toutes les autres URL renvoient une erreur.
Autorisations
GraphHttpClient utilise l’application Azure Active Directory Office 365 SharePoint Online pour extraire un jeton d’accès valide à Microsoft Graph au nom de l’utilisateur actuel. Le jeton d’accès extrait contient les deux autorisations suivantes :
- Accéder en lecture et en écriture à tous les groupes (aperçu) (
Group.ReadWrite.All) - Lire tous les rapports d'utilisation (
Reports.Read.All)
Jetons extraits à l’aide d’une API interne
Pour obtenir un jeton d’accès valide, GraphHttpClient lance une requête web vers le point de terminaison /_api/SP.OAuth.Token/Acquire. Cette API est destinée à un usage interne. Vous ne devez pas communiquer directement avec elle dans vos solutions.