Gérer les sessions et la persistance dans Excel

Si votre application doit effectuer plusieurs appels à l’API Excel dans Microsoft Graph, créez une session et transmettez l’ID de session à chaque requête. La présence d’un ID de session dans les requêtes garantit que vous utilisez l’API Excel de la manière la plus efficace possible.

Les API Excel sont appelées dans l’un des trois modes suivants :

  • Session permanente : Toutes les modifications apportées au classeur sont conservées (enregistrées) dans le classeur. Ce mode vous garantit une utilisation efficace de l’API Excel.

  • Session non persistante : Les modifications apportées par l’API ne sont pas enregistrées dans l’emplacement source. À la place, le serveur principal Excel conserve une copie temporaire du fichier qui reflète les modifications apportées au cours de cette session API. Les modifications sont perdues à l’expiration de la session Excel. Ce mode est utile pour les applications qui doivent effectuer une analyse ou obtenir les résultats d’un calcul ou l’image d’un graphique, sans affecter l’état du document.

  • Sans session : Les appels d’API ne passent pas d’ID de session. Les serveurs Excel doivent localiser la copie du classeur du serveur pour chaque opération. Ce mode n’est pas efficace pour appeler l’API Excel, mais il est utile pour effectuer certains types de requêtes isolées.

Pour représenter la session de l’API, utilisez l’en-tête workbook-session-id: {session-id}.

Remarque

L’en-tête de session n’est pas nécessaire pour qu’une API Excel fonctionne. Toutefois, nous vous recommandons d’utiliser l’en-tête de session pour obtenir de meilleures performances. Si vous n’utilisez pas un en-tête de session, les modifications apportées pendant l’appel de l’API sont conservées dans le fichier.

Types de requêtes

La gestion des erreurs suggérée pour les API Excel est basée sur le type de requête, le code d’erreur et le code status. Les types de requête sont les suivants :

  • Demande CreateSession : Permet de créer une session persistante ou non persistante. Dans une réponse réussie, l’ID de session est retourné dans la propriété id dans le corps de la réponse. Pour plus d’informations, consultez Créer une session.
  • Demande de session : Requêtes suivantes qui suivent une demande CreateSession. Ils incluent généralement un workbook-session-id: {session-id} en-tête. L’exception est une requête status d’interrogation, qui utilise le modèle d’opération de longue durée. Pour plus d’informations, consultez Utiliser des API qui prennent beaucoup de temps.
  • Requête sans session : Utilisé en mode sans session. Ces requêtes n’ont pas d’en-tête workbook-session-id: {session-id} .

Étapes suivantes

Pour apprendre à créer et utiliser des sessions, consultez l’article Créer une session.