Référence de l'API REST Outlook Contacts (version 1.0)
**S'applique à **: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
Notes
La version 1.0 de l’API REST Outlook est en voie d’obsolescence. A compter du 1er novembre 2018, les applications ne seront plus en mesure d'utiliser l'Authentication Basique le point de terminaison REST v1.0. D’ici le 1er novembre 2019, la version 1.0 du point de terminaison REST sera complètement désactivée et la documentation de la version 1.0 sera supprimée peu de temps après. Commencez à migrer votre application pour utiliser l’API REST Outlook dans la v1.0 de Microsoft Graph. Voir plus de détails dans notre annonce.
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
Pour plus de simplicité dans les références, la suite de cet article utilise Outlook.com pour inclure ces domaines de compte Microsoft.
La version 1.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 pour Office 365 et sélectionnez la version souhaitée.
Toutes les opérations de l'API de contacts
Opérations Contact
Les contacts sont stockés dans des dossiers de contacts. Vous pouvez obtenir, créer, modifier et supprimer des contacts.
- Obtenir des contacts
- Synchroniser les contacts et les dossiers de contacts
- Créer des contacts
- Mise à jour des contacts
- Supprimer des contacts
Opérations de dossier de contacts
Les dossiers de contacts peuvent contenir des contacts et d'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 de 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 contact.
Obtenir une collection de contacts
Étendue minimale requise
Un des éléments suivants :
Obtenez 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/v1.0/me/contacts
GET https://outlook.office.com/api/v1.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 meilleurs niveaux de performance. 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 de chaque contact dans la réponse. Reportez-vous à l'échantillon de réponse dans Obtenir un contact pour une liste complète des propriétés qui seraient retournées pour un contact si vous n'utilisez pas $select
.
Exemple de demande
GET https://outlook.office.com/api/v1.0/me/contacts?$select=EmailAddresses,GivenName,Surname
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa7\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk3AAA=",
"GivenName": "Rob",
"Surname": "Young",
"EmailAddresses": [
{
"Name": "roby@a830edad9050849NDA1.onmicrosoft.com",
"Address": "roby@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa6\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk2AAA=",
"GivenName": "Pavel",
"Surname": "Bansky",
"EmailAddresses": [
{
"Name": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
"Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa5\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk1AAA=",
"GivenName": "Katie",
"Surname": "Jordan",
"EmailAddresses": [
{
"Name": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk0AAA=",
"GivenName": "Garth",
"Surname": "Fort",
"EmailAddresses": [
{
"Name": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHkzAAA=",
"GivenName": "Janet",
"Surname": "Schorr",
"EmailAddresses": [
{
"Name": "janets@a830edad9050849NDA1.onmicrosoft.com",
"Address": "janets@a830edad9050849NDA1.onmicrosoft.com"
}
]
}
]
}
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa7\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk3AAA=",
"GivenName": "Rob",
"Surname": "Young",
"EmailAddresses": [
{
"Name": "roby@a830edad9050849NDA1.onmicrosoft.com",
"Address": "roby@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa6\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk2AAA=",
"GivenName": "Pavel",
"Surname": "Bansky",
"EmailAddresses": [
{
"Name": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
"Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa5\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk1AAA=",
"GivenName": "Katie",
"Surname": "Jordan",
"EmailAddresses": [
{
"Name": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk0AAA=",
"GivenName": "Garth",
"Surname": "Fort",
"EmailAddresses": [
{
"Name": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHkzAAA=",
"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.
Obtenir une ressource contact
Étendue minimale requise
Un des éléments suivants :
Obtenir un contact en utilisant l'ID de contact.
GET https://outlook.office.com/api/{version}/me/contacts/{contact_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
version | chaîne | La version de l'API. |
contact_id | chaîne | L'ID des contacts. |
Exemple de demande
GET https://outlook.office.com/api/v1.0/me/contacts/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts/$entity",
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk0AAA=",
"DateTimeCreated": "2014-10-19T23:08:24Z",
"DateTimeLastModified": "2014-10-19T23:08:24Z",
"ChangeKey": "EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4",
"Categories": [],
"ParentFolderId": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAAAAAEOAAA=",
"Birthday": null,
"FileAs": "Fort, Garth",
"DisplayName": "Garth Fort",
"GivenName": "Garth",
"Initials": null,
"MiddleName": null,
"NickName": null,
"Surname": "Fort",
"Title": null,
"YomiGivenName": null,
"YomiSurname": null,
"YomiCompanyName": null,
"Generation": null,
"EmailAddresses": [
{
"Name": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
],
"ImAddresses": [
"sip:garthf@a830edad9050849nda1.onmicrosoft.com"
],
"JobTitle": "Web Marketing Manager",
"CompanyName": null,
"Department": "Sales & Marketing",
"OfficeLocation": "20/1101",
"Profession": null,
"BusinessHomePage": null,
"AssistantName": null,
"Manager": null,
"HomePhones": [],
"MobilePhone1": null,
"BusinessPhones": [
"+1 918 555 0101"
],
"HomeAddress": {},
"BusinessAddress": {},
"OtherAddress": {},
"SpouseName": null,
"PersonalNotes": null,
"Children": []
}
Type de réponse
Le contact demandé.
Notes
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 meilleurs niveaux de performance. 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/v1.0/me/contacts/AAMkAGI2THk0AAA=?$select=EmailAddresses,GivenName,Surname
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/v1.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 de 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/v1.0/me/Contacts
GET https://outlook.office.com/api/v1.0/me/ContactFolders/{folderName}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d’en-tête | ||
Préférence | odata.track-changes | Indique que la requête est une requête de synchronisation. |
Préférence | 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 les meilleurs niveaux de performance. 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/v1.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/v1.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/v1.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/v1.0/me/Contacts/?%24deltatoken=169ca50467d34d9fb8adb664961b9836
Messages de charge utile
Demander au serveur lorsque des pages supplémentaires sont disponibles :
https://outlook.office.com/api/v1.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é.
Créer un contact
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/contacts.readwrite
- wl.contacts_create
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/v1.0/me/contacts
POST https://outlook.office.com/api/v1.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 attribué au 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/v1.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
Code d’état : 201
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts/$entity",
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
"@odata.etag": "W/\"EQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAV41eC\"",
"Id": "AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAEOAAAmP1Ln1wcHRariNdTMGAO9AAAV4xqVAAA=",
"ChangeKey": "EQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAV41eC",
"Categories": [],
"DateTimeCreated": "2014-10-22T20:38:18Z",
"DateTimeLastModified": "2014-10-22T20:38:19Z",
"ParentFolderId": "AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MAAuAAAAAAC_0WfqSjt_SqLtNkuO-bj1AQAmP1Ln1wcHRariNdTMGAO9AAAAAAEOAAA=",
"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
},
"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 :
- https://outlook.office.com/contacts.readwrite
- wl.contacts_create
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/v1.0/me/contacts/{contact_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
contact_id | chaîne | L'ID des contacts. |
Exemple de demande
PATCH https://outlook.office.com/api/v1.0/me/contacts/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHkzAAA=
Content-Type: application/json
{
"HomeAddress": {
"Street": "Some street",
"City": "Seattle",
"State": "WA",
"PostalCode": "98121"
},
"Birthday": "1974-07-22"
}
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts/$entity",
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHkzAAA=",
"ChangeKey": "EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3",
"Categories": [],
"DateTimeCreated": "2014-10-19T23:08:18Z",
"DateTimeLastModified": "2014-10-19T23:08:18Z",
"ParentFolderId": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAAAAAEOAAA=",
"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
},
"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.
Supprimer un contact
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/contacts.readwrite
- wl.contacts_create
DELETE https://outlook.office.com/api/v1.0/me/contacts/{contact_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
contact_id | chaîne | L'ID des contacts. |
Exemple de demande
DELETE https://outlook.office.com/api/v1.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.
Obtenir une collection de dossiers de contacts
Étendue minimale requise
Un des éléments suivants :
Obtenir 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/v1.0/me/contactfolders
GET https://outlook.office.com/api/v1.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 contact, si vous obtenez des dossiers de contacts à partir d'un dossier de contacts spécifique. |
Exemple de demande
GET https://outlook.office.com/api/v1.0/me/contactfolders
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/ContactFolders",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAADTKI5AAA=",
"ParentFolderId": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAAAAAEOAAA=",
"DisplayName": "Finance"
}
]
}
Type de réponse
La collection de dossiers de contacts demandée.
Obtenir un dossier de contacts
É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/v1.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/v1.0/me/contactfolders/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAADTKI5AAA=
Exemple de réponse
Code d’état : 200
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAADTKI5AAA=",
"ParentFolderId": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAAAAAEOAAA=",
"DisplayName": "Finance"
}
Type de réponse
Le dossier de contactsdemandé.
Obtenir une photo de contact et des métadonnées
Cette fonctionnalité est disponible en version 2.0 et en version bêta. Pour plus d’informations, dans la table des matières sur la gauche, accédez à la section Référence API REST Office 365 et sélectionnez une de ces versions.
Définir la photo de contact
Cette fonctionnalité est disponible en version 2.0 et en version bêta. Pour plus d’informations, dans la table des matières sur la gauche, accédez à la section Référence API REST Office 365 et sélectionnez une de ces versions.
É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.
- Premiers pas avec les API REST Courrier, Calendrier et Contacts.
- Voulez-vous des exemples ? Nous en avons.
Ou, pour en savoir plus sur l’utilisation de la plateforme Office 365 :
- API REST d’Outlook sur le Centre de développement Outlook
- Vue d’ensemble du processus de développement sur la plateforme Office 365
- Authentification d'application et autorisation de ressources Office 365
- Enregistrez manuellement votre application dans Azure AD pour qu’il puisse accéder aux API Office 365
- Référence de l'API courrier
- Référence de l'API Calendrier
- REST API de tâches
- API OneDrive
- Référence des opérations de l’API REST Service de découverte
- Référence de ressource pour les API REST Courrier, Calendrier, Contacts et Tâche