Référence des API REST Contacts Outlook (version 2.0)

S’applique à : Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

L'API des contacts Outlook permet d'accéder aux contacts et aux dossiers de contacts d'un utilisateur sécurisés par Azure Active Directory sur Office 365, ainsi qu'à des données similaires dans les comptes Microsoft, spécifiquement dans ces domaines : Hotmail.com, Live.com, MSN.com, Outlook.com, et Passport.com.

Notes

Afin de simplifier les explications, le reste de l’article utilise Outlook.com pour inclure ces domaines de comptes Microsoft.

La version 2.0 de l’API ne vous intéresse pas ? Dans la table des matières sur la gauche, accédez à la section Référence API REST Office 365 et sélectionnez la version souhaitée.

Toutes les opérations de l'API Contacts

Opérations de contact

Les contacts sont stockés dans des dossiers de contacts. Vous pouvez obtenir, créer, modifier et supprimer des contacts.

Opérations de dossier de contacts

Les dossiers de contacts peuvent contenir des contacts et des autres dossiers de contacts. Vous pouvez obtenir des dossiers de contact et créer des contacts dans un dossier de contact.

Opérations de photo de contact

Chaque contact peut avoir une image du contact facultative. Vous pouvez obtenir ou définir une photo pour un contact.

Voir aussi

Utilisation de l’API REST Contacts

Authentification

Comme les autres API REST Outlook, pour chaque requête envoyée à l'API de contacts, vous devez inclure un jeton d'accès valide. Pour obtenir un jeton d’accès, vous devez avoir inscrit et identifié votre application, et obtenu l’autorisation appropriée.

Vous pouvez en savoir plus sur certaines options d'inscription et d'autorisation simplifiées pour vous. Gardez cela à l'esprit lorsque vous effectuez des opérations spécifiques dans l'API de contacts.

Version de l’API

L'API REST de contacts est prise en charge dans toutes les versions de l'API REST Outlook. La fonctionnalité peut différer selon la version spécifique.

Utilisateur cible

Les demandes de l'API de contacts sont toujours effectuées au nom de l'utilisateur en cours.

Voir Utiliser l'API REST Outlook pour plus d'informations communes à tous les sous-ensembles de l'API REST Outlook.

Obtenir des contacts

Vous pouvez obtenir une collection de contacts ou un contact individuel à partir d'un dossier de contacts.

Étendue minimale requise

Un des éléments suivants :

Obtenir une collection de contacts

Obtenir une collection de contacts à partir du dossier de contacts par défaut de l’utilisateur connecté (.../me/contacts), ou à partir du dossier de contacts spécifié.

GET https://outlook.office.com/api/v2.0/me/contacts
GET https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}/contacts
Paramètre requis Type Description
Paramètres d'URL
contact_folder_id chaîne L'ID du dossier de contact, si vous obtenez des contacts d'un dossier spécifique.

Notes

Par défaut, chaque contact de la réponse inclut toutes ses propriétés. Utilisez $select pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleures performances. La propriété Id est toujours renvoyée. Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

Exemple de demande

GET https://outlook.office.com/api/v2.0/me/contacts?$select=EmailAddresses,GivenName,Surname

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk3AAA=')",
            "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa7\"",
            "Id": "AAMkAGI2THk3AAA=",
            "GivenName": "Rob",
            "Surname": "Young",
            "EmailAddresses": [
                {
                    "Name": "roby@a830edad9050849NDA1.onmicrosoft.com",
                    "Address": "roby@a830edad9050849NDA1.onmicrosoft.com"
                }
            ]
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THkzAAA=')",
            "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
            "Id": "AAMkAGI2THkzAAA=",
            "GivenName": "Janet",
            "Surname": "Schorr",
            "EmailAddresses": [
                {
                    "Name": "janets@a830edad9050849NDA1.onmicrosoft.com",
                    "Address": "janets@a830edad9050849NDA1.onmicrosoft.com"
                }
            ]
        }
    ]
}

Type de réponse

La collection de contact demandée.

Get a contact

Étendue minimale requise

Un des éléments suivants :

Obtenir un contact en utilisant l'ID de contact.

GET https://outlook.office.com/api/v2.0/me/contacts/{contact_id}
Paramètre requis Type Description
Paramètres d'URL
contact_id chaîne L'ID de contact.

Exemple de demande

GET https://outlook.office.com/api/v2.0/me/contacts/AAMkAGI2THk0AAA=

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
    "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
    "Id": "AAMkAGI2THk0AAA=",
    "CreatedDateTime": "2014-10-19T23:08:24Z",
    "LastModifiedDateTime": "2014-10-19T23:08:24Z",
    "ChangeKey": "EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4",
    "Categories": [],
    "ParentFolderId": "AAMkAGI2AAEOAAA=",
    "Birthday": null,
    "FileAs": "Fort, Garth",
    "DisplayName": "Garth Fort",
    "GivenName": "Garth",
    "Initials": "G.F.",
    "MiddleName": null,
    "NickName": "Garth",
    "Surname": "Fort",
    "Title": null,
    "YomiGivenName": null,
    "YomiSurname": null,
    "YomiCompanyName": null,
    "Generation": null,
    "EmailAddresses": [
        {
            "Name": "Garth",
            "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
    ],
    "ImAddresses": [
        "sip:garthf@a830edad9050849nda1.onmicrosoft.com"
    ],
    "JobTitle": "Web Marketing Manager",
    "CompanyName": "Contoso, Inc.",
    "Department": "Sales & Marketing",
    "OfficeLocation": "20/1101",
    "Profession": null,
    "BusinessHomePage": "https://www.contoso.com",
    "AssistantName": null,
    "Manager": null,
    "HomePhones": [],
    "MobilePhone1": null,
    "BusinessPhones": [
        "+1 918 555 0101"
    ],
    "HomeAddress": {},
    "BusinessAddress": {
      "Street": "10 Contoso Way",
      "City": "Redmond",
      "State": "WA",
      "CountryOrRegion": "USA",
      "PostalCode": "98075"  
    },
    "OtherAddress": {},
    "SpouseName": null,
    "PersonalNotes": null,
    "Children": []
}

Type de réponse

Le contact demandé.

Notes

Remarque Par défaut, la réponse inclut toutes les propriétés du contact. Utilisez $select pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleures performances. La propriété Id est toujours renvoyée. Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

L'exemple suivant montre comment utiliser $select pour ne renvoyer que les propriétés EmailAddresses, GivenName et Surname du contact dans la réponse.

Exemple de demande

GET https://outlook.office.com/api/v2.0/me/contacts/AAMkAGI2THk0AAA=?$select=EmailAddresses,GivenName,Surname

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
    "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
    "Id": "AAMkAGI2THk0AAA=",
    "GivenName": "Garth",
    "Surname": "Fort",
    "EmailAddresses": [
        {
            "Name": "garthf@a830edad9050849NDA1.onmicrosoft.com",
            "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
    ]
}

Synchroniser les contacts et les dossiers de contacts

Vous pouvez synchroniser votre liste locale de contacts avec les contacts sur le serveur. La synchronisation des contacts est une opération par dossier. Vous pouvez, par exemple, synchroniser tous les contacts dans votre dossier Contacts racine. Si vous avez des dossiers Contacts supplémentaires, vous devez synchroniser chaque dossier individuellement.

La synchronisation ne prend en charge que la synchronisation complète. Tous les contacts du dossier spécifié sont renvoyés avec chaque requête.

La synchronisation d'un dossier de contacts nécessite généralement deux requêtes GET ou plus. Vous faites en sorte que la requête GET ressemble beaucoup à la façon dont vous obtenez les contacts, sauf que vous ajoutez les en-têtes de requête suivants.

  • Vous devez spécifier l'en-tête Prefer: odata.track-changes dans toutes vos requêtes de synchronisation.

  • Vous pouvez spécifier l'en-tête Prefer: odata.maxpages={n} pour définir le nombre maximum de contacts renvoyés dans chaque requête.

    La seconde et les requêtes GET suivantes diffèrent de la première requête GET en incluant soit un deltaToken soit un skipToken reçu dans une réponse précédente.

    La réponse initiale à une requête de synchronisation renvoie toujours un deltaToken. Vous devriez toujours faire une deuxième requête GET en utilisant le deltaToken pour déterminer s'il y a des contacts supplémentaires. La deuxième requête renverra des contacts supplémentaires et soit un skipToken s'il y a plus de contacts disponibles, soit un deltaToken si le dernier contact a été envoyé.

Étendue minimale requise

Un des éléments suivants :

GET https://outlook.office.com/api/v2.0/me/Contacts
GET https://outlook.office.com/api/v2.0/me/ContactFolders/{folderName}
Paramètre requis Type Description
Paramètres d’en-tête
Prefer odata.track-changes Indique que la requête est une requête de synchronisation.
Prefer odata.maxpagesize Définit le nombre de contacts renvoyés dans chaque réponse.
Paramètre d'URL
folderName chaîne Le nom du dossier à synchroniser.
odata.deltaLink Chaîne Le jeton qui indique la dernière fois que le dossier a été synchronisé.
odata.skiptoken Chaîne Jeton qui indique qu’il n’y a plus de messages à télécharger.

Type de réponse

Une collection contenant les contacts demandés et un deltaToken que vous utilisez pour demander des pages supplémentaires de données de contact du serveur, et pour demander une synchronisation incrémentielle. Si le nombre de contacts renvoyés est supérieur à la valeur spécifiée dans l'en-tête odata.maxpagesize , la réponse sera renvoyée sur plusieurs pages.

La réponse inclura un en-tête Preference-Applied: odata-trackchanges . Si vous tentez de synchroniser une ressource non prise en charge, cet en-tête ne sera pas renvoyé dans la réponse. Pour éviter les erreurs, vérifiez cet en-tête avant de traiter la réponse.

Notes

Par défaut, la réponse inclut toutes les propriétés des contacts spécifiés. Utilisez $select pour spécifier uniquement les propriétés dont vous avez besoin pour obtenir de meilleures performances. La propriété Id est toujours renvoyée. N'utilisez pas $ filter, $ orderby, $ search ou $ top, car ils ne sont pas pris en charge pour la synchronisation des contacts ou des dossiers de contacts. Voir Paramètres de requête OData pour plus de détails.

Exemples

Requête initiale pour une synchronisation complète :

GET https://outlook.office.com/api/v2.0/Me/Contacts

Incluez les en-têtes suivants :

  • Prefer: odata.track-changes
  • Prefer: odata.maxpagesize=100

Deuxième requête au serveur après une requête de synchronisation complète :

https://outlook.office.com/api/v2.0/Me/Contacts/?%24deltatoken=169ca50467d34d9fb8adb664961b9836

Incluez les en-têtes suivants :

  • Prefer: odata.track-changes
  • Prefer: odata.maxpagesize=100

Deuxième réponse du serveur avec des pages supplémentaires disponibles :

En-tête

Preference-Applied: odata.track-changes

Body

@odata.deltaLink=https://outlook.office.com/api/v2.0/me/Contacts/messages/?%24skiptoken=169ca50467d34d9fb8adb664961b9836

Messages de charge utile


Deuxième réponse ou réponse ultérieure du serveur lorsque tous les contacts ont été envoyés :

En-tête

Preference-Applied: odata.track-changes

Body

@odata.deltaLink=https://outlook.office.com/api/v2.0/me/Contacts/?%24deltatoken=169ca50467d34d9fb8adb664961b9836

Messages de charge utile


Demander au serveur lorsque des pages supplémentaires sont disponibles :

https://outlook.office.com/api/v2.0/Me/Contacts/?%24skiptoken=169ca50467d34d9fb8adb664961b9836

Incluez les en-têtes suivants.

  • Prefer: odata.track-changes
  • Prefer: odata.maxpagesize=100

Créer des contacts

Créez un contact dans le dossier Contacts spécifié.

Create a contact

Étendue minimale requise

Un des éléments suivants :

Ajoutez un contact dans le dossier de contacts racine ou au point de terminaison contacts d’un autre dossier de contacts.

POST https://outlook.office.com/api/v2.0/me/contacts
POST https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}/contacts
Paramètre requis Type Description
Paramètres d'URL
contact_folder_id chaîne L'ID du dossier de contact, si vous créez un contact dans un dossier de contacts spécifique.
Paramètres de corps
GivenName chaîne Le nom donné du contact.

Spécifiez le paramètre GivenName et toutes les propriétés de contact inscriptibles dans le corps de la requête.

Exemple de demande

POST https://outlook.office.com/api/v2.0/me/contacts
Content-Type: application/json

{
  "GivenName": "Pavel",
  "Surname": "Bansky",
  "EmailAddresses": [
    {
      "Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Pavel Bansky"
    }
  ],
  "BusinessPhones": [
    "+1 732 555 0102"
  ]
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGE0M4xqVAAA=')",
  "@odata.etag": "W/\"EQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAV41eC\"",
  "Id": "AAMkAGE0M4xqVAAA=",
  "ChangeKey": "EQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAV41eC",
  "Categories": [],
  "CreatedDateTime": "2014-10-22T20:38:18Z",
  "LastModifiedDateTime": "2014-10-22T20:38:19Z",
  "ParentFolderId": "AAMkAGE0MAAEOAAA=",
  "Birthday": null,
  "FileAs": "",
  "DisplayName": "Pavel Bansky",
  "GivenName": "Pavel",
  "Initials": null,
  "MiddleName": null,
  "NickName": null,
  "Surname": "Bansky",
  "Title": null,
  "Generation": null,
  "EmailAddresses": [
    {
      "Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Pavel Bansky"
    },
    null,
    null
  ],
  "ImAddresses": [
    null,
    null,
    null
  ],
  "JobTitle": null,
  "CompanyName": null,
  "Department": null,
  "OfficeLocation": null,
  "Profession": null,
  "BusinessHomePage": null,
  "AssistantName": null,
  "Manager": null,
  "HomePhones": [
    null,
    null
  ],
  "BusinessPhones": [
    "+1 732 555 0102",
    null
  ],
  "MobilePhone1": null,
  "HomeAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "BusinessAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "OtherAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "SpouseName": null,
  "PersonalNotes": null,
  "Children": [],
  "YomiSurname": null,
  "YomiGivenName": null,
  "YomiCompanyName": null
}

Type de réponse

Le nouveau contact.

Mise à jour des contacts

Modifier les propriétés d'un contact.

Mise à jour d'un contact

Étendue minimale requise

Un des éléments suivants :

Spécifiez toutes les propriétés de contact inscriptibles dans le corps de la requête. Seules les propriétés que vous spécifiez sont modifiées.

PATCH https://outlook.office.com/api/v2.0/me/contacts/{contact_id}
Paramètre requis Type Description
Paramètres d'URL
contact_id chaîne L'ID de contact.

Exemple de demande

PATCH https://outlook.office.com/api/v2.0/me/contacts/AAMkAGI2THkzAAA=
Content-Type: application/json

{
  "HomeAddress": {
    "Street": "Some street",
    "City": "Seattle",
    "State": "WA",
    "PostalCode": "98121"
  },
  "Birthday": "1974-07-22"
}

Exemple de réponse

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THkzAAA=')",
  "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
  "Id": "AAMkAGI2THkzAAA=",
  "ChangeKey": "EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3",
  "Categories": [],
  "CreatedDateTime": "2014-10-19T23:08:18Z",
  "LastModifiedDateTime": "2014-10-19T23:08:18Z",
  "ParentFolderId": "AAMkAGI2AAEOAAA=",
  "Birthday": "1974-07-22T00:00:00Z",
  "FileAs": "Schorr, Janet",
  "DisplayName": "Janet Schorr",
  "GivenName": "Janet",
  "Initials": null,
  "MiddleName": null,
  "NickName": null,
  "Surname": "Schorr",
  "Title": null,
  "Generation": null,
  "EmailAddresses": [
    {
      "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "janets@a830edad9050849NDA1.onmicrosoft.com"
    },
    null,
    null
  ],
  "ImAddresses": [
    "sip:janets@a830edad9050849nda1.onmicrosoft.com",
    null,
    null
  ],
  "JobTitle": "Product Marketing Manager",
  "CompanyName": null,
  "Department": "Sales & Marketing",
  "OfficeLocation": "18/2111",
  "Profession": null,
  "BusinessHomePage": null,
  "AssistantName": null,
  "Manager": null,
  "HomePhones": [
    null,
    null
  ],
  "BusinessPhones": [
    "+1 425 555 0109",
    null
  ],
  "MobilePhone1": null,
  "HomeAddress": {
    "Street": "Some street",
    "City": "Seattle",
    "State": "WA",
    "CountryOrRegion": null,
    "PostalCode": "98121"
  },
  "BusinessAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "OtherAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "SpouseName": null,
  "PersonalNotes": null,
  "Children": [],
  "YomiSurname": null,
  "YomiGivenName": null,
  "YomiCompanyName": null
}

Type de réponse

Le contactmis à jour.

Supprimer des contacts

Supprimer un contact. La récupération des contenus supprimés peut être impossible.

Pour plus d’informations, voir Suppression d’éléments à l’aide de EWS dans Exchange.

Delete a contact

Étendue minimale requise

Un des éléments suivants :

DELETE https://outlook.office.com/api/v2.0/me/contacts/{contact_id}
Paramètre requis Type Description
Paramètres d'URL
contact_id chaîne L'ID de contact.

Exemple de demande

DELETE https://outlook.office.com/api/v2.0/me/contacts/AAMkAGE0Myy2hAAA=

Exemple de réponse

Status code: 204

Obtenir des dossiers de contact

Vous pouvez obtenir une collection de dossiers de contacts ou obtenir un dossier de contacts.

Get a contact folder collection

Étendue minimale requise

Un des éléments suivants :

Obtenuir la collection de dossiers de contacts sous le dossier Contacts par défaut de l'utilisateur connecté (.../me/contactfolders), ou sous le dossier de contacts spécifié.

GET https://outlook.office.com/api/v2.0/me/contactfolders
GET https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}/childfolders

Notes

Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

Paramètre requis Type Description
Paramètres d'URL
contact_folder_id chaîne L'ID du dossier de contacts, si vous obtenez des dossiers de contacts à partir d'un dossier de contacts spécifique.

Exemple de demande

GET https://outlook.office.com/api/v2.0/me/contactfolders

Exemple de réponse

Code d’état : 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/ContactFolders",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/ContactFolders('AAMkAGI2TKI5AAA=')",
            "Id": "AAMkAGI2TKI5AAA=",
            "ParentFolderId": "AAMkAGI2AAEOAAA=",
            "DisplayName": "Finance"
        }
    ]
}

Type de réponse

La collection de dossiers de contacts demandée.

Get a contact folder

Étendue minimale requise

Un des éléments suivants :

Obtenir un dossier de contacts à l’aide de l’ID du dossier de contacts.

GET https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}

Notes

Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

Paramètre requis Type Description
Paramètres d'URL
contact_folder_id chaîne L'ID du dossier contacts.

Exemple de demande

GET https://outlook.office.com/api/v2.0/me/contactfolders/AAMkAGI2TKI5AAA=

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/ContactFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/ContactFolders('AAMkAGI2TKI5AAA=')",
    "Id": "AAMkAGI2TKI5AAA=",
    "ParentFolderId": "AAMkAGI2AAEOAAA=",
    "DisplayName": "Finance"
}

Type de réponse

Le dossier de contactsdemandé.

Obtenir une photo de contact et des métadonnées

Get contact photo

Étendue minimale requise

Un des éléments suivants :

Obtenir la photo de contact de l'utilisateur connecté spécifié.

GET https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo/$value
Paramètre requis Type Description
Paramètres d'URL
contact_id chaîne L'ID spécifiant le contact particulier de l'utilisateur connecté.

Exemple de demande

GET https://outlook.office.com/api/v2.0/me/contacts('AAMkAGE1M2IyNGNm===')/photo/$value
Content-Type: image/jpg

Données de réponse

Contient les données binaires de la photo demandée. Le code de la réponse HTTP est 200.

L'opération renvoie HTTP 404, si le contact n'a pas encore de photo de contact sur Exchange Online.

Obtenir des métadonnées de photo de contact

Étendue minimale requise

Un des éléments suivants :

Obtenez les métadonnées d'une photo de contact, qui inclut le type de contenu, la largeur et la hauteur en pixels.

GET https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo
Paramètre requis Type Description
Paramètres d'URL
contact_id chaîne L'ID spécifiant le contact particulier de l'utilisateur connecté.

Exemple de demande

GET https://outlook.office.com/api/v2.0/me/contacts('AAMkAGE1M2IyNGNm')/photo

Échantillon de données de réponse

Une requête réussie renvoie HTTP 200.

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts('AAMkAGE1M2IyNGNm')/photo/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-b826-40d7-b48b-57002df800e5@1717622f-49d1-4d0c-9d74-709fad664b77')/contacts('AAMkAGE1M2IyNGNm')/photo",
    "@odata.readLink": "https://outlook.office.com/api/v2.0/Users('ddfcd489-b826-40d7-b48b-57002df800e5@1717622f-49d1-4d0c-9d74-709fad664b77')/contacts('AAMkAGE1M2IyNGNm')/photo",
    "@odata.mediaContentType": "image/jpeg",
    "Id": "103X77",
    "Width": 103,
    "Height": 77
}

Set contact photo

Étendue minimale requise

Un des éléments suivants :

Affectez une photo au contact de l'utilisateur connecté spécifié. La photo doit être en binaire. Elle remplace toute photo existant pour ce contact.

Vous pouvez utiliser PATCH ou PUT pour cette opération dans la version 2.0.

PATCH https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo/$value

PUT https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo/$value
Paramètre requis Type Description
Paramètres d'URL
contact_id chaîne L'ID spécifiant le contact particulier de l'utilisateur connecté.

Exemple de demande

PUT https://outlook.office.com/api/v2.0/me/contacts('AAMkAGE1M2IyNGNm===')/photo/$value
Content-Type: image/jpeg

Incluez les données binaires de la photo dans le corps de la requête.

Données de réponse

Une requête réussie renvoie HTTP 200.

Étapes suivantes

Que vous soyez prêt à commencer à créer une application ou que vous souhaitiez simplement en apprendre plus, nous avons ce qu’il vous faut.

Ou, pour en savoir plus sur l’utilisation de la plateforme Office 365 :