Problèmes connus avec Microsoft GraphKnown issues with Microsoft Graph

Cet article décrit les problèmes connus avec Microsoft Graph.This article describes known issues with Microsoft Graph.

Pour signaler un problème rencontré, consultez la page Prise en charge de Microsoft Graph .To report a known issue, see the Microsoft Graph support page.

Pour plus d’informations sur les dernières mises à jour de l’API Microsoft Graph, consultez le journal des modifications de Microsoft Graph.For information about the latest updates to the Microsoft Graph API, see the Microsoft Graph changelog.

RéservationsBookings

ErrorExceededFindCountLimit lors de l’interrogation de bookingBusinessesErrorExceededFindCountLimit when querying bookingBusinesses

L’obtention de la liste de bookingBusinesses échoue avec le code d’erreur suivant lorsqu’une organisation a plusieurs entreprises de réservation et que le compte de la demande ne correspond pas à un administrateur :Getting the list of bookingBusinesses fails with the following error code when an organization has several Bookings businesses and the account making the request is not an administrator:

{
  "error": {
    "code": "ErrorExceededFindCountLimit",
    "message":
      "The GetBookingMailboxes request returned too many results. Please specify a query to limit the results.",
  }
}

Pour contourner le problème, vous pouvez limiter l’ensemble des entreprises renvoyé par la demande en incluant un paramètre query, par exemple :As a workaround, you can limit the set of businesses returned by the request by including a query parameter, for example:

GET https://graph.microsoft.com/beta/bookingBusinesses?query=Fabrikam

CalendriersCalendars

Accéder à un calendrier partagéAccessing a shared calendar

Lorsque vous tentez d’accéder aux événements d’un calendrier qui a été partagé par un autre utilisateur à l’aide de l’opération suivante :When attempting to access events in a calendar that has been shared by another user using the following operation:

GET /users/{id}/calendars/{id}/events

Le code d’erreur HTTP 500 ErrorInternalServerTransientError peut s’afficher. Voici les raisons pour lesquelles une erreur est générée :You may get HTTP 500 with the error code ErrorInternalServerTransientError. The error occurs because:

  • Historiquement, il existe deux manières d’implémenter le partage de calendrier, qui seront appelées respectivement « ancienne » et « nouvelle » approche, par souci de commodité.Historically, there are two ways that calendar sharing has been implemented, which, for the purpose of differentiating them, are referred to as the "old" approach and "new" approach.
  • La nouvelle approche est actuellement disponible pour le partage de calendriers avec des autorisations d’affichage ou de modification, mais pas avec des autorisations déléguées.The new approach is currently available for sharing calendars with view or edit permissions, but not with delegate permissions.
  • Vous pouvez utiliser l’API REST du calendrier pour afficher ou modifier des calendriers partagés, uniquement si ceux-ci ont été partagés avec la nouvelle approche.You can use the calendar REST API to view or edit shared calendars only if the calendars were shared using the new approach.
  • Par contre, vous ne pouvez pas l’utiliser pour afficher ou modifier ce type de calendriers (ou leurs événements) si les calendriers ont été partagés au moyen de l’ancienne approche.You cannot use the calendar REST API to view or edit such calendars (or their events) if the calendars were shared using the old approach.

Si un calendrier a été partagé avec des autorisations d’affichage ou de modification, mais avec l’ancienne approche, vous pouvez désormais contourner l’erreur et mettre à niveau manuellement le partage de calendrier de façon à utiliser la nouvelle approche.If a calendar was shared with view or edit permissions but using the old approach, you can now work around the error and manually upgrade the calendar sharing to use the new approach. Au fil du temps, Outlook mettra automatiquement à niveau tous les calendriers partagés pour qu’ils utilisent la nouvelle approche, y compris ceux partagés avec des autorisations déléguées.Over time, Outlook will automatically upgrade all shared calendars to use the new approach, including calendars shared with delegate permissions.

Pour mettre à niveau manuellement un calendrier partagé de sorte à utiliser la nouvelle approche, procédez comme suit :To manually upgrade a shared calendar to use the new approach, follow these steps:

  1. Le destinataire supprime le calendrier qui a été partagé avec lui précédemment.The recipient removes the calendar that was previously shared to them.
  2. Le propriétaire du calendrier partage à nouveau le calendrier dans Outlook sur le web, Outlook sur iOS ou Outlook sur Android.The calendar owner re-shares the calendar in Outlook on the web, Outlook on iOS, or Outlook on Android.
  3. Le destinataire accepte à nouveau le calendrier partagé à l’aide d’Outlook sur le web. (Les autres clients Outlook pourront bientôt être utilisés.)The recipient re-accepts the shared calendar using Outlook on the web. (It will be possible to use other Outlook clients soon.)
  4. Pour vérifier que le calendrier a bien été partagé à l’aide de la nouvelle approche, le destinataire s’assure qu’il peut l’afficher dans Outlook sur iOS ou Outlook sur Android.The recipient verifies that the calendar has been re-shared successfully using the new approach by being able to view the shared calendar in Outlook on iOS or Outlook on Android.

Un calendrier partagé avec vous à l’aide de la nouvelle approche a la même apparence que les autres calendriers figurant dans votre boîte aux lettres. Vous pouvez utiliser l’APi REST du calendrier pour afficher ou modifier des événements dans le calendrier partagé, comme s’il s’agissait de votre propre calendrier. Par exemple :A calendar shared with you in the new approach appears as just another calendar in your mailbox. You can use the calendar REST API to view or edit events in the shared calendar, as if it's your own calendar. As an example:

GET /me/calendars/{id}/events

Ajout de calendriers ICS et accès à ces calendriers dans la boîte aux lettres de l’utilisateurAdding and accessing ICS-based calendars in user's mailbox

Actuellement, il existe une prise en charge partielle pour un calendrier basé sur un abonnement de calendrier Internet (ICS) :Currently, there is partial support for a calendar based on an Internet Calendar Subscription (ICS):

  • Vous pouvez ajouter un calendrier ICS à la boîte aux lettres d’un utilisateur via l’interface utilisateur, mais pas via l’API Microsoft Graph.You can add an ICS-based calendar to a user mailbox through the user interface, but not through the Microsoft Graph API.
  • La liste des calendriers de l’utilisateur vous permet d’obtenir les propriétés name, color et id de chaque calendrier dans le groupe des calendriers par défaut de l’utilisateur, ou un groupe de calendriers spécifié, y compris les calendriers ICS. Vous ne pouvez pas stocker ou accéder à l’URL ICS dans la ressource de calendrier.Listing the user's calendars lets you get the name, color and id properties of each calendar in the user's default calendar group, or a specified calendar group, including any ICS-based calendars. You cannot store or access the ICS URL in the calendar resource.
  • Vous pouvez également répertorier les événements d’un calendrier ICS.You can also list the events of an ICS-based calendar.

Joindre des fichiers volumineux à des évènementsAttaching large files to events

Une application dotée d’autorisations déléguées renvoie HTTP 403 Forbidden lorsque vous essayez de joindre des fichiers volumineux à un message Outlook ou un évènement figurant dans une boîte aux lettres partagée ou déléguée.An app with delegated permissions returns HTTP 403 Forbidden when attempting to attach large files to an Outlook message or event that is in a shared or delegated mailbox. Avec les autorisations déléguées, createUploadSession réussit uniquement si le message ou l'évènement se trouve dans la boîte aux lettres de l’utilisateur connecté.With delegated permissions, createUploadSession succeeds only if the message or event is in the signed-in user's mailbox.

Prise en charge de la propriété onlineMeetingUrl dans Microsoft TeamsonlineMeetingUrl property support for Microsoft Teams

Pour l’instant, la propriété onlineMeetingUrl d’un événement de réunion Skype doit indiquer l’URL de la réunion en ligne.Currently, the onlineMeetingUrl property of a Skype meeting event would indicate the online meeting URL. Toutefois, cette propriété est définie sur la valeur null pour les événements de réunion Microsoft Teams.However, that property for a Microsoft Teams meeting event is set to null.

La version bêta offre une solution de contournement qui consiste à utiliser la propriété onlineMeetingProvider d’un événement pour vérifier si le fournisseur est Microsoft Teams.The beta version offers a workaround, where you can use the onlineMeetingProvider property of an event to verify if the provider is Microsoft Teams. Par le biais de la propriété onlineMeeting de l’événement, vous pouvez accéder à joinUrl.Through the onlineMeeting property of the event, you can access the joinUrl.

Notifications de modificationChange notifications

Notifications supplémentaires pour les utilisateursAdditional notifications for users

Les abonnements aux modifications pour utilisateur avec changeType définis sur mise à jour reçoivent également les notifications de changeType: mis à jour sur la création et la suppression réversible d’utilisateurs.Subscriptions to changes for user with changeType set to updated will also receive notifications of changeType: updated on user creation and user soft deletion.

Notifications supplémentaires pour les groupesAdditional notifications for groups

Les abonnements aux modifications pour groupe avec changeType définis sur mis à jour reçoivent également les notifications de changeType: mis à jour sur la création et la suppression réversible de groupes.Subscriptions to changes for group with changeType set to updated will also receive notifications of changeType: updated on group creation and group soft deletion.

Communications dans le cloudCloud communications

Le client Microsoft Teams n’affiche pas le menu Afficher les détails de la réunion pour les réunions de canal créées via l’API de communications cloud.The Microsoft Teams client does not show the View Meeting details menu for channel meetings created via the cloud communications API.

Applications Cloud Solution ProviderCloud Solution Provider apps

Les applications de fournisseur de solutions cloud doivent utiliser le point de terminaison Azure ADCSP apps must use Azure AD endpoint

Les applications de fournisseur de solutions de cloud doivent acquérir des jetons des points de terminaison Azure AD (v1) pour appeler correctement Microsoft Graph dans leurs clients gérés par des partenaires. Actuellement, l’acquisition d’un jeton via le point de terminaison Azure AD v2.0 plus récent n’est pas prise en charge.Cloud solution provider (CSP) apps must acquire tokens from the Azure AD (v1) endpoints to successfully call Microsoft Graph in their partner-managed customers. Currently, acquiring a token through the newer Azure AD v2.0 endpoint is not supported.

Dans certains cas, le consentement préalable pour les applications de fournisseur de solutions de cloud peut ne pas fonctionner pour certains de vos locataires de clients.Under certain circumstances, pre-consent for CSP apps may not work for some of your customer tenants.

  • Pour les applications utilisant des autorisations déléguées, lors de l’utilisation de l’application pour la première fois avec un nouveau locataire de client, l’erreur suivante peut être générée après la connexion : AADSTS50000: There was an error issuing a token.For apps using delegated permissions, when using the app for the first time with a new customer tenant you might receive this error after sign-in: AADSTS50000: There was an error issuing a token.
  • Pour les applications utilisant des autorisations de l’application, votre application peut obtenir un jeton, mais inopinément recevoir un message d’accès refusé lors de l’appel de Microsoft Graph.For apps using application permissions, your app can acquire a token, but unexpectedly gets an access denied message when calling Microsoft Graph.

Nous travaillons sur ce problème pour qu’il soit résolu le plus vite possible afin que le consentement préalable fonctionne pour tous vos locataires de clients.We are working to fix this issue as soon as possible, so that pre-consent will work for all your customer tenants.

En attendant, pour débloquer le développement et le test, vous pouvez utiliser la solution de contournement suivante.In the meantime, to unblock development and testing you can use the following workaround.

REMARQUE : Il ne s’agit pas d’une solution permanente. Elle est destinée uniquement à débloquer le développement. Cette solution de contournement ne sera plus nécessaire une fois le problème susmentionné résolu. Cette solution de contournement n’a pas besoin d’être annulée une fois le correctif mis en place.NOTE: This is not a permanent solution and is only intended to unblock development. This workaround will not be required once the aforementioned issue is fixed. This workaround does not need to be undone once the fix is in place.

  1. Ouvrez une session Azure AD v2 PowerShell et connectez-vous à votre locataire customer en saisissant vos informations d’identification d’administrateur dans la fenêtre de connexion. Vous pouvez télécharger et installer Azure AD PowerShell V2 en cliquant ici.Open an Azure AD v2 PowerShell session and connect to your customer tenant by entering your admin credentials into the sign-in window. You can download and install Azure AD PowerShell V2 from here.

    Connect-AzureAd -TenantId {customerTenantIdOrDomainName}
    
  2. Créer le principal de service de Microsoft Graph.Create the Microsoft Graph service principal.

    New-AzureADServicePrincipal -AppId 00000003-0000-0000-c000-000000000000
    

ContactsContacts

Contacts de l’organisation disponibles dans bêta uniquementOrganization contacts available in only beta

Seuls les contacts personnels sont actuellement pris en charge. Les contacts organisationnels ne sont actuellement pas pris en charge dans /v1.0, mais vous pouvez les trouver dans /beta.Only personal contacts are currently supported. Organizational contacts are not currently supported in /v1.0, but can be found in /beta.

Dossier des contacts par défautDefault contacts folder

Dans la version /v1.0, GET /me/contactFolders n’inclut pas de dossier des contacts par défaut de l’utilisateur.In the /v1.0 version, GET /me/contactFolders does not include the user's default contacts folder.

Un correctif sera disponible. En attendant, vous pouvez utiliser la requête de liste de contacts suivante et la propriété parentFolderId pour contourner le problème et obtenir l’ID du dossier des contacts par défaut :A fix will be made available. Meanwhile, you can use the following list contacts query and the parentFolderId property as a workaround to get the folder ID of the default contacts folder:

GET https://graph.microsoft.com/v1.0/me/contacts?$top=1&$select=parentFolderId

Dans la requête ci-dessus :In the above query:

  1. /me/contacts?$top=1 obtient les propriétés d’un contact dans le dossier de contacts par défaut./me/contacts?$top=1 gets the properties of a contact in the default contacts folder.
  2. L’ajout de &$select=parentFolderId renvoie uniquement la propriété parentFolderId du contact, qui est l’ID du dossier de contacts par défaut.Appending &$select=parentFolderId returns only the contact's parentFolderId property, which is the ID of the default contacts folder.

Accès aux contacts via un dossier de contacts dans la version bêtaAccessing contacts via a contact folder in beta

Dans la version /beta, il existe actuellement un problème qui empêche d’accéder à un contact en spécifiant son dossier parent dans l’URL de requête REST, comme indiqué dans les deux scénarios ci-dessous.In the /beta version, there is currently an issue that prevents accessing a contact by specifying its parent folder in the REST request URL, as shown in the 2 scenarios below.

  • Accès à un contact à partir d’un élément contactFolder de niveau supérieur de l’utilisateur.Accessing a contact from a top level contactFolder of the user's.
GET /me/contactfolders/{id}/contacts/{id}
GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts/{id}
  • Accès à un contact contenu dans un dossier enfant d’un élément contactFolder. L’exemple suivant montre un seul niveau d’imbrication, mais un contact peut se trouver dans un enfant d’un enfant, et ainsi de suite.Accessing a contact contained in a child folder of a contactFolder. The example below shows one level of nesting, but a contact can be located in a child of a child and so on.
GET /me/contactFolder/{id}/childFolders/{id}/.../contacts/{id}
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts/{id}

Vous pouvez aussi obtenir le contact en spécifiant son ID comme indiqué ci-dessous, dans la mesure où GET /contacts dans la version /beta s’applique à tous les contacts de la boîte aux lettres de l’utilisateur :As an alternative, you can simply get the contact by specifying its ID as shown below, since GET /contacts in the /beta version applies to all the contacts in the user's mailbox:

GET /me/contacts/{id}
GET /users/{id | userPrincipalName}/contacts/{id}

Requête deltaDelta query

  • Le contexte OData est parfois renvoyé incorrectement lors du suivi des modifications apportées aux relations.OData context is sometimes returned incorrectly when tracking changes to relationships.
  • Les extensions de schéma (héritées) ne sont pas renvoyées avec l’instruction $select, mais sans $select.Schema extensions (legacy) are not returned with $select statement, but are returned without $select.
  • Les clients ne peuvent pas suivre les modifications apportées aux extensions d’ouverture ou aux extensions de schéma enregistrées.Clients cannot track changes to open extensions or registered schema extensions.

ExtensionsExtensions

Le suivi des modifications n’est pas pris en chargeChange tracking is not supported

Le suivi des modifications (requête delta) n’est pas pris en charge pour les propriétés des extensions de schéma ou d’ouverture.Change tracking (delta query) is not supported for open or schema extension properties.

Création d’une ressource et d’une extension d’ouverture en même tempsCreating a resource and open extension at the same time

Vous ne pouvez pas spécifier une extension d’ouverture quand vous créez une instance de ressource administrativeUnit, device, group, organization ou user. Vous devez d’abord créer l’instance, puis spécifier les données de l’extension d’ouverture dans une demande POST ultérieure sur cette instance.You cannot specify an open extension at the same time you create an instance of administrativeUnit, device, group, organization or user. You must first create the instance and then specify the open extension data in a subsequent POST request on that instance.

Création d’une instance de ressource et ajout de données d’extension de schéma en même tempsCreating a resource instance and adding schema extension data at the same time

Vous ne pouvez pas spécifier d’extension de schéma dans la même opération que la création d’une instance de contact, event, message ou post.You cannot specify a schema extension in the same operation as creating an instance of contact, event, message, or post. Vous devez d’abord créer l’instance de ressource, puis effectuez une opération PATCH sur cette instance pour ajouter une extension de schéma et des données personnalisées.You must first create the resource instance and then do a PATCH to that instance to add a schema extension and custom data.

Limite de 100 valeurs de propriété d’extension de schéma autorisées par instance de ressourceLimit of 100 schema extension property values allowed per resource instance

Les ressources du répertoire, telles que device, group et user, limitent actuellement le nombre total de propriétés d’extension de schéma pouvant être définies sur une instance de ressource à 100.Directory resources, such as device, group and user, currently limit the total number of schema extension property values that can be set on a resource instance, to 100.

Filtrage sur les propriétés des extensions de schéma non pris en charge sur tous les types d’entitéFiltering on schema extension properties not supported on all entity types

Le filtrage sur les propriétés d’extension de schéma (à l’aide de l’expression $filter) n’est pas pris en charge pour les types d’entité Outlook : contact, événement, message ou publication.Filtering on schema extension properties (using the $filter expression) is not supported for Outlook entity types - contact, event, message, or post.

Fichiers (OneDrive)Files (OneDrive)

  • L'accès initial au lecteur personnel d’un utilisateur via Microsoft Graph, avant que l’utilisateur accède à son site personnel par l'intermédiaire d'un navigateur, entraîne une réponse 401.First time access to a user's personal drive through Microsoft Graph before the user accesses their personal site through a browser leads to a 401 response.

GroupesGroups

Autorisations pour les groupes et Microsoft TeamsPermissions for groups and Microsoft Teams

Microsoft Graph expose deux autorisations (Group.Read.All et Group.ReadWrite.All) pour accéder aux API pour les groupes et Microsoft Teams.Microsoft Graph exposes two permissions (Group.Read.All and Group.ReadWrite.All) for access to the APIs for groups and Microsoft Teams. Ces autorisations doivent être accordées par un administrateur.These permissions must be consented to by an administrator. À l’avenir, nous prévoyons d’ajouter pour les groupes et les équipes de nouvelles autorisations que des utilisateurs pourront accorder.In the future, we plan to add new permissions for groups and teams that users can consent to.

En outre, seule l’API pour l’administration et la gestion de groupes principaux prend en charge l’accès à l’aide des autorisations déléguées ou d’application uniquement. Toutes les autres fonctionnalités de l’API de groupe prennent uniquement en charge les autorisations déléguées.Also, only the API for core group administration and management supports access using delegated or app-only permissions. All other features of the group API support only delegated permissions.

Exemples de fonctionnalités de groupe qui prennent en charge les autorisations déléguées et d’application uniquement :Examples of group features that support delegated and app-only permissions:

  • Création et suppression de groupesCreating and deleting groups
  • Obtention et mise à jour des propriétés de groupe se rapportant à l’administration ou à la gestion de groupeGetting and updating group properties pertaining to group administration or management
  • Paramètres d’annuaire, type et synchronisation de groupeGroup directory settings, type, and synchronization
  • Appartenance et propriétaires de groupeGroup owners and membership
  • Récupérer des conversations et des threads de groupeGetting group conversations and threads

Exemples de fonctionnalités de groupe qui prennent en charge les autorisations déléguées uniquement :Examples of group features that support only delegated permissions:

  • Événements de groupe, photoGroup events, photo
  • Expéditeurs externes, expéditeurs acceptés ou refusés, abonnement de groupeExternal senders, accepted or rejected senders, group subscription
  • Favoris de l’utilisateur et compte non consultéUser favorites and unseen count

StratégiePolicy

Microsoft Graph vous permet de créer et nommer un groupe Microsoft 365 qui ignore les stratégies de groupe Microsoft 365 qui sont configurées via Outlook Web App.Using Microsoft Graph to create and name a Microsoft 365 group bypasses any Microsoft 365 group policies that are configured through Outlook Web App.

Définition de la propriété allowExternalSendersSetting the allowExternalSenders property

Il existe actuellement un problème qui empêche de définir la propriété allowExternalSenders d’un groupe dans une opération POST ou PATCH, dans /v1.0 et /beta.There is currently an issue that prevents setting the allowExternalSenders property of a group in a POST or PATCH operation, in both /v1.0 and /beta.

Utilisation de la requête deltaUsing delta query

Pour les problèmes connus concernant l’utilisation de la requête delta, consultez la section relative à la requête delta dans cet article.For known issues using delta query, see the delta query section in this article.

Identité et accès | Les API principales d’application et de serviceIdentity and access | Application and service principal APIs

Des modifications sont en cours pour les entités application et servicePrincipal. Voici un résumé des restrictions en cours et des fonctionnalités de l’API en cours de développement.There are changes to the application and servicePrincipal entities currently in development. The following is a summary of current limitations and in-development API features.

Restrictions en cours :Current limitations:

  • Certaines propriétés de l’application (par exemple, appRoles et addIns) ne seront disponibles que lorsque toutes les modifications auront été effectuées.Some application properties (such as appRoles and addIns) will not be available until all changes are completed.
  • Seules les applications mutualisées peuvent être enregistrées.Only multi-tenant apps can be registered.
  • La mise à jour des applications est limitée aux applications enregistrées après la mise à jour bêta initiale.Updating apps is restricted to apps registered after the initial beta update.
  • Les utilisateurs d’Azure Active Directory peuvent enregistrer des applications et ajouter des propriétaires supplémentaires.Azure Active Directory users can register apps and add additional owners.
  • Prise en charge des protocoles OpenID Connect et OAuth.Support for OpenID Connect and OAuth protocols.
  • Échec des affectations de stratégie à une application.Policy assignments to an application fail.
  • Échec des opérations sur ownedObjects nécessitant un identificateur d’application (Par exemple, users/{id|userPrincipalName}/ownedObjects/{id}/...).Operations on ownedObjects that require appId fail (For example, users/{id|userPrincipalName}/ownedObjects/{id}/...).

En cours de développement :In development:

  • Possibilité d’enregistrer des applications de client unique.Ability to register single tenant apps.
  • Mises à jour de servicePrincipal.Updates to servicePrincipal.
  • Migration des applications Azure Active Directory existantes vers un modèle mis à jour.Migration of existing Azure AD apps to updated model.
  • Prise en charge d’appRoles, des clients préalablement autorisés, des revendications facultatives, des revendications d’appartenance de groupe et de la personnalisationSupport for appRoles, pre-authorized clients, optional claims, group membership claims, and branding
  • Les utilisateurs du compte Microsoft (MSA) peuvent enregistrer des applications.Microsoft account (MSA) users can register apps.
  • Prise en charge des protocoles SAML et WsFed.Support for SAML and WsFed protocols.

Identité et accès | Accès conditionnelIdentity and access | Conditional access

AutorisationsPermissions

L'autorisation Policy.Read.All est actuellement nécessaire pour appeler les API POST et PATCH.Currently, the Policy.Read.All permission is required to call POST and PATCH APIs. À l'avenir, l'autorisation Policy.ReadWrite.ConditionalAccess vous permettra de lire les stratégies à partir de l’annuaire.In the future, the Policy.ReadWrite.ConditionalAccess permission will enable you to read policies from the directory.

Traitement par lots JSONJSON Batching

Aucun lot imbriquéNo nested batch

Les requêtes de lots JSON ne doivent pas contenir des requêtes de lots imbriquées.JSON batch requests must not contain any nested batch requests.

Toutes les requêtes individuelles doivent être synchronesAll individual requests must be synchronous

Toutes les requêtes contenues dans une requête de lots doivent être exécutées simultanément. Le cas échéant, la préférence respond-async sera ignorée.All requests contained in a batch request must be executed synchronously. If present, the respond-async preference will be ignored.

Aucune transactionNo transactions

Microsoft Graph ne prend pas en charge le traitement transactionnel des requêtes individuelles. La propriété atomicityGroup sur des requêtes individuelles sera ignorée.Microsoft Graph does not currently support transactional processing of individual requests. The atomicityGroup property on individual requests will be ignored.

Les URI doivent être relatifsURIs must be relative

Spécifiez toujours des URI relatifs dans les requêtes de lots. Microsoft Graph rend ensuite ces URL absolues à l’aide du point de terminaison de version inclus dans l’URL par lots.Always specify relative URIs in batch requests. Microsoft Graph then makes these URLs absolute by using the version endpoint included in the batch URL.

Limite de taille du lotLimit on batch size

Les requêtes de lots JSON sont actuellement limitées à 20 requêtes individuelles.JSON batch requests are currently limited to 20 individual requests.

Dépendances simplifiéesSimplified dependencies

Les requêtes individuelles peuvent dépendre d’autres requêtes individuelles. Actuellement, les requêtes peuvent dépendre uniquement d’une seule autre requête et doivent respecter l’un de ces trois modèles :Individual requests can depend on other individual requests. Currently, requests can only depend on a single other request, and must follow one of these three patterns:

  1. Parallèle - aucune requête individuelle n’indique une dépendance dans la propriété dependsOn.Parallel - no individual request states a dependency in the dependsOn property.
  2. Série - toutes les requêtes individuelles dépendent de la requête individuelle précédente.Serial - all individual requests depend on the previous individual request.
  3. Identique - toutes les requêtes individuelles qui indiquent une dépendance dans la propriété dependsOn, indiquent la même interdépendance.Same - all individual requests that state a dependency in the dependsOn property, state the same dependency.

À mesure que le traitement par lots JSON évolue, ces limitations seront supprimées.As JSON batching matures, these limitations will be removed.

Courrier (Outlook)Mail (Outlook)

Joindre des fichiers volumineux aux messagesAttaching large files to messages

Une application dotée d’autorisations déléguées renvoie HTTP 403 Forbidden lorsque vous essayez de joindre des fichiers volumineux à un message Outlook ou un évènement figurant dans une boîte aux lettres partagée ou déléguée.An app with delegated permissions returns HTTP 403 Forbidden when attempting to attach large files to an Outlook message or event that is in a shared or delegated mailbox. Avec les autorisations déléguées, createUploadSession réussit uniquement si le message ou l'évènement se trouve dans la boîte aux lettres de l’utilisateur connecté.With delegated permissions, createUploadSession succeeds only if the message or event is in the signed-in user's mailbox.

Le paramètre comment pour la création d’un brouillonThe comment parameter for creating a draft

Le paramètre comment pour la création d’un brouillon de réponse ou de transfert (createReply, createReplyAll, createForward) ne fait pas partie du corps du brouillon du message résultant.The comment parameter for creating a reply or forward draft (createReply, createReplyAll, createForward) does not become part of the body of the resultant message draft.

Les messages GET renvoient des conversations dans Microsoft TeamsGET messages returns chats in Microsoft Teams

Dans les points de terminaison v1 et bêta, la réponse de GET /users/id/messages inclut les conversations Microsoft Teams de l’utilisateur ayant eu lieu en dehors de l’étendue d’une équipe ou d’un canal.In both the v1 and beta endpoints, the response of GET /users/id/messages includes the user's Microsoft Teams chats that occurred outside the scope of a team or channel. La mention « MI » figure dans l’objet des messages issus de conversation.These chat messages have "IM" as their subject.

Travail d’équipe (Microsoft Teams)Teamwork (Microsoft Teams)

GET/teams n’est pas pris en chargeGET /teams is not supported

Pour obtenir une liste d’équipes, voir répertorier toutes les équipes et répertorier vos équipes.To get a list of teams, see list all teams and list your teams.

POST/teams est disponible en version bêta uniquementPOST /teams is only available in beta

Pour créer des équipes dans v1.0, voir créer une équipe.To create teams in v1.0, see create team.

Équipes manquantes dans liste de toutes les équipesMissing teams in list all teams

Certaines équipes créées par le passé mais non utilisées récemment par un utilisateur Microsoft Teams ne sont pas répertoriées par la commande destinée à répertorier toutes les équipes .Some teams that were created in the past but haven't been used recently by a Microsoft Teams user aren't listed by list all teams. Les nouvelles équipes sont répertoriées.New teams will be listed. Certaines anciennes équipes n’ont pas de propriété resourceProvisioningOptions contenant « Team » définie sur des équipes nouvellement créées et visitées dans Microsoft Teams.Certain old teams don't have a resourceProvisioningOptions property that contains "Team", which is set on newly created teams and teams that are visited in Microsoft Teams. Dans le futur, nous définirons la propriété resourceProvisioningOptions sur des équipes existantes qui n’ont pas été ouvertes dans Microsoft Teams.In the future, we will set resourceProvisioningOptions on existing teams that have not been opened in Microsoft Teams.

UtilisateursUsers

Pas d’accès instantané après créationNo instant access after creation

Les utilisateurs peuvent être créées immédiatement via un POST sur l’entité de l’utilisateur.Users can be created immediately through a POST on the user entity. Une licence Microsoft 365 doit d’abord être affectée à un utilisateur, afin d’obtenir un accès aux services Microsoft 365.A Microsoft 365 license must first be assigned to a user, in order to get access to Microsoft 365 services. Même ensuite, en raison de la nature distribuée du service, un délai de 15 minutes peut s’écouler avant que les entités de fichiers, messages et événements puissent être utilisées pour cet utilisateur, via l’API Microsoft Graph.Even then, due to the distributed nature of the service, it might take 15 minutes before files, messages and events entities are available for use for this user, through the Microsoft Graph API. Pendant ce temps, les applications recevront une réponse d’erreur HTTP 404.During this time, apps will receive a 404 HTTP error response.

Restrictions de photoPhoto restrictions

La lecture et la mise à jour de la photo du profil d’un utilisateur ne sont possibles que si l’utilisateur dispose d’une boîte aux lettres.Reading and updating a user's profile photo is only possible if the user has a mailbox. En outre, les photos qui ont peut-être été précédemment stockées à l’aide de la propriété thumbnailPhoto (avec Azure AD Graph, ou via la synchronisation AD Connect) ne sont plus accessibles via la propriété photo Microsoft Graph de la ressource utilisateur.Additionally, any photos that may have been previously stored using the thumbnailPhoto property (using the Azure AD Graph or through AD Connect synchronization) are no longer accessible through the Microsoft Graph photo property of the user resource. L’échec de lecture ou de mise à jour d’une photo, dans ce cas, entraînerait l’erreur suivante :Failure to read or update a photo, in this case, would result in the following error:

{
  "error": {
    "code": "ErrorNonExistentMailbox",
    "message": "The SMTP address has no mailbox associated with it."
  }
}

Utilisation de la requête deltaUsing delta query

Pour les problèmes connus concernant l’utilisation de la requête delta, consultez la section relative à la requête delta dans cet article.For known issues using delta query, see the delta query section in this article.

La révocation de sessions de connexion renvoie un code HTTP incorrectRevoke sign-in sessions returns wrong HTTP code

L' API user: revokeSignInSessions doit renvoyer une 204 No content réponse en si les révocations sont réussies et un code d’erreur HTTP (4xx ou 5xx) en cas de problème avec la demande.The user: revokeSignInSessions API should return a 204 No content response for successful revocations, and an HTTP error code (4xx or 5xx) if anything goes wrong with the request. Toutefois, en raison d’un problème de service, cette API renvoie un 200 OK et un paramètre booléen qui est toujours true.However, due to a service issue, this API returns a 200 OK and a Boolean parameter that is always true. En attendant la résolution de ce problème, les développeurs sont simplement invités à considérer le code de retour 2xx comme une réussite pour cette API.Until this is fixed, developers are simply advised to treat any 2xx return code as success for this API.

Objets incomplets lors de l’utilisation de la demande getByIdsIncomplete objects when using getByIds request

La demande d'objets via Obtenir des objets d’annuaire à partir d’une liste d’ID doit renvoyer des objets complets.Requesting objects using Get directory objects from a list of IDs should return full objects. Cependant, les objets utilisateur actuellement présents sur le point de terminaison v 1.0 sont renvoyés avec un groupe limité de propriétés.However, currently user objects on the v1.0 endpoint are returned with a limited set of properties. Dans le cadre d’une solution de contournement temporaire, lorsque vous utilisez l'opération conjointement avec l’option de requête$select, des objets utilisateur plus complets sont renvoyés.As a temporary workaround, when you use the operation in combination with the $select query option, more complete user objects will be returned. Ce comportement n’est pas conforme aux spécifications OData.This behavior is not in accordance with the OData specifications. Ce comportement pouvant être mis à jour ultérieurement, utilisez cette solution de contournement uniquement lorsque vous fournissez $select= toutes les propriétés qui vous intéressent, et uniquement si les prochaines modifications apportées à cette solution de contournement sont acceptables.Because this behavior might be updated in the future, use this workaround only when you provide $select= with all the properties you are interested in, and only if future breaking changes to this workaround are acceptable.

Limitations de paramètre de requêteQuery parameter limitations

  • Les espaces de noms multiples ne sont pas pris en charge.Multiple namespaces are not supported.
  • GET sur $ref et le cast ne sont pas pris en charge sur les utilisateurs, groupes, appareils, principaux de service et applications.GETs on $ref and casting is not supported on users, groups, devices, service principals and applications.
  • @odata.bind n’est pas pris en charge. Cela signifie que les développeurs ne peuvent pas configurer correctement la propriété de navigation acceptedSenders ou rejectedSenders sur un groupe.@odata.bind is not supported. This means that developers won’t be able to properly set the acceptedSenders or rejectedSenders navigation property on a group.
  • @odata.id n’est pas présent sur les navigations autres que les navigations d’imbrication (comme les messages) lors de l’utilisation de métadonnées minimales.@odata.id is not present on non-containment navigations (like messages) when using minimal metadata.
  • $expand:$expand:
    • Pas de prise en charge pour nextLinkNo support for nextLink
    • Pas de prise en charge pour plus d’un niveau de développementNo support for more than 1 level of expand
    • Pas de prise en charge avec des paramètres supplémentaires ($filter, $select)No support with extra parameters ($filter, $select)
  • $filter:$filter:
    • Le point de terminaison /attachments ne prend pas en charge les filtres./attachments endpoint does not support filters. Le cas échéant, le paramètre $filter est ignoré.If present, the $filter parameter is ignored.
    • Le filtrage entre charges de travail n’est pas pris en charge.Cross-workload filtering is not supported.
  • $search:$search:
    • La recherche de texte intégral est disponible uniquement pour un sous-ensemble d’entités, comme les messages.Full-text search is only available for a subset of entities such as messages.
    • La recherche entre charges de travail n’est pas prise en charge.Cross-workload searching is not supported.

Fonctionnalités disponibles uniquement dans les API Office 365 REST ou Azure AD GraphFunctionality available only in Office 365 REST or Azure AD Graph APIs

Certaines fonctionnalités ne sont pas encore disponibles dans Microsoft Graph.Some functionality is not yet available in Microsoft Graph. Si vous ne voyez pas la fonctionnalité que vous recherchez, vous pouvez utiliser les API REST Office 365 spécifiques au point de terminaison.If you don't see the functionality you're looking for, you can use the endpoint-specific Office 365 REST APIs. Pour Azure Active Directory, voir Migrer des applications Azure AD Graph vers Microsoft Graph.For Azure Active Directory, see Migrate Azure AD Graph apps to Microsoft Graph.