Référence d’API REST Outlook Contacts
S’applique à : Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
Notes
Cette documentation couvre la version bêta de l'API Contacts en préversion. Les fonctionnalités de la préversion sont sujettes à modifications avant leur finalisation. Elles peuvent donc entraîner des erreurs de code. Pour cette raison, nous vous conseillons généralement d’utiliser uniquement une version de production d’une API dans votre code de production. La v2.0 est actuellement privilégiée lorsqu’elle est disponible.
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 béta 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.
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
- Mettre à jour des contacts
- Supprimer des 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.
Chaque contact peut avoir une image du contact facultative. Vous pouvez obtenir ou définir une photo pour un contact.
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.
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.
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.
Vous pouvez obtenir une collection de contacts ou un contact individuel à partir d'un dossier de contact.
Un des éléments suivants :
wl.basic
Obtenez tous les contacts dans la messagerie de l'utilisateur connecté (.../me/contacts
) ou à partir du dossier de contacts spécifié.
GET https://outlook.office.com/api/beta/me/contacts
GET https://outlook.office.com/api/beta/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.
GET https://outlook.office.com/api/beta/me/contacts?$select=EmailAddresses,GivenName,Surname
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/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/beta/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"
}
]
}
]
}
La collection contact demandée.
Un des éléments suivants :
Obtenir un contact en utilisant l'ID de contact.
GET https://outlook.office.com/api/beta/me/contacts/{contact_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
contact_id | chaîne | L'ID du contact. |
Le contact demandé.
GET https://outlook.office.com/api/beta/me/contacts/AAMkADlkAAAMRFUEAAA=
Status code: 200
{
"@odata.context":"https://outlook.office365.com/api/beta/$metadata#Me/Contacts/$entity",
"@odata.id":"https://outlook.office365.com/api/beta/Users('af183ae6-7efa-41e4-aa87-fe8790598625@9ac5b33f-49cf-45f7-9ef1-b581dce364d8')/Contacts('AAMkADlkAAAMRFUEAAA=')",
"@odata.etag":"W/\"EQAAABYAAADDii8zlkFETIcBiRn8yAbgAAAMRdhl\"",
"Id":"AAMkADlkAAAMRFUEAAA=",
"CreatedDateTime":"2016-07-16T06:43:15Z",
"LastModifiedDateTime":"2016-07-16T06:43:15Z",
"ChangeKey":"EQAAABYAAADDii8zlkFETIcBiRn8yAbgAAAMRdhl",
"Categories":[
],
"ParentFolderId":"AAMkADlk8yAbgAAAAAAEkAAA=",
"Birthday":null,
"FileAs":"",
"DisplayName":"Garret Vargas",
"GivenName":"Garret",
"Initials":null,
"MiddleName":null,
"NickName":null,
"Surname":"Vargas",
"Title":null,
"YomiGivenName":null,
"YomiSurname":null,
"YomiCompanyName":null,
"Generation":null,
"EmailAddresses":[
{
"Name":"Garret Vargas",
"Address":"GarretV@contoso.onmicrosoft.com"
}
],
"Websites":[
],
"ImAddresses":[
"sip:garretv@contoso.onmicrosoft.com"
],
"JobTitle":"CVP Operations",
"CompanyName":"",
"Department":"Operations",
"OfficeLocation":"36/2121",
"Profession":null,
"AssistantName":null,
"Manager":null,
"Phones":[
{
"Type":"Home",
"Number":""
},
{
"Type":"Business",
"Number":"+1 206 555 0105"
},
{
"Type":"Mobile",
"Number":""
}
],
"PostalAddresses":[
{
"Type":"Business",
"City":"Seattle"
}
],
"SpouseName":null,
"PersonalNotes":null,
"Children":[
],
"Gender":null,
"IsFavorite":null,
"Flag":{
"FlagStatus":"NotFlagged"
}
}
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 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.
GET https://outlook.office.com/api/beta/me/contacts/AAMkAGI2THk0AAA=?$select=EmailAddresses,GivenName,Surname
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('af183ae6-7efa-41e4-aa87-fe8790598625@9ac5b33f-49cf-45f7-9ef1-b581dce364d8')/Contacts('AAMkADlkAAAMRFUEAAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
"Id": "AAMkADlkAAAMRFUEAAA=",
"GivenName": "Garth",
"Surname": "Vargas",
"EmailAddresses": [
{
"Name":"Garret Vargas",
"Address":"GarretV@contoso.onmicrosoft.com"
}
]
}
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é.
Un des éléments suivants :
GET https://outlook.office.com/api/beta/me/Contacts
GET https://outlook.office.com/api/beta/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. |
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.
Requête initiale pour une synchronisation complète :
GET https://outlook.office.com/api/beta/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/beta/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/beta/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/beta/me/Contacts/?%24deltatoken=169ca50467d34d9fb8adb664961b9836
Messages de charge utile
Demander au serveur lorsque des pages supplémentaires sont disponibles :
https://outlook.office.com/api/beta/Me/Contacts/?%24skiptoken=169ca50467d34d9fb8adb664961b9836
Incluez les en-têtes suivants :
- Prefer: odata.track-changes
- Prefer: odata.maxpagesize=100
Créez un contact dans le dossier Contacts spécifié.
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/beta/me/contacts
POST https://outlook.office.com/api/beta/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.
POST https://outlook.office.com/api/beta/me/contacts
Content-Type: application/json
{
"GivenName": "Pavel",
"Surname": "Bansky",
"EmailAddresses": [
{
"Address": "pavelb@contoso.onmicrosoft.com",
"Name": "Pavel Bansky"
}
],
"Phones": [
{
"Type": "Business",
"Number": "+1 732 555 0102"
}
]
}
Status code: 201
{
"@odata.context":"https://outlook.office365.com/api/beta/$metadata#Me/Contacts/$entity",
"@odata.id":"https://outlook.office365.com/api/beta/Users('af183ae6-7efa-41e4-aa87-fe8790598625@9ac5b33f-49cf-45f7-9ef1-b581dce364d8')/Contacts('AAMkADlkAAARKMK7AAA=')",
"@odata.etag":"W/\"EQAAABYAAADDii8zlkFETIcBiRn8yAbgAAARKpia\"",
"Id":"AAMkADlkAAARKMK7AAA=",
"CreatedDateTime":"2016-07-20T23:59:37Z",
"LastModifiedDateTime":"2016-07-20T23:59:38Z",
"ChangeKey":"EQAAABYAAADDii8zlkFETIcBiRn8yAbgAAARKpia",
"Categories":[
],
"ParentFolderId":"AAMkADlk8yAbgAAAAAAEOAAA=",
"Birthday":null,
"FileAs":"",
"DisplayName":"Pavel Bansky",
"GivenName":"Pavel",
"Initials":null,
"MiddleName":null,
"NickName":null,
"Surname":"Bansky",
"Title":null,
"YomiGivenName":null,
"YomiSurname":null,
"YomiCompanyName":null,
"Generation":null,
"EmailAddresses":[
{
"Name":"Pavel Bansky",
"Address":"pavelb@contoso.onmicrosoft.com"
}
],
"Websites":[
],
"ImAddresses":[
],
"JobTitle":null,
"CompanyName":null,
"Department":null,
"OfficeLocation":null,
"Profession":null,
"AssistantName":null,
"Manager":null,
"Phones":[
{
"Type":"Business",
"Number":"+1 732 555 0102"
}
],
"PostalAddresses":[
],
"SpouseName":null,
"PersonalNotes":null,
"Children":[
],
"Gender":null,
"IsFavorite":null,
"Flag":{
"FlagStatus":"NotFlagged"
}
}
Le nouveau contact.
Modifier les propriétés d'un contact.
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/beta/me/contacts/{contact_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
contact_id | chaîne | L'ID du contact. |
L'exemple suivant définit l'adresse postale du contact et un indicateur de suivi.
Notes
Lorsque Flag.FlagStatus est défini sur Flagged
, un Flag.CompletedDate ne peut pas être défini.
PATCH https://outlook.office.com/api/beta/me/contacts/AAMkADlkAAARKMK7AAA=
Content-Type: application/json
{
"PostalAddresses": [
{
"Type": "Business",
"Street": "Some street",
"City": "Seattle",
"State": "WA",
"PostalCode": "98121"
}
],
"Birthday": "1974-07-22",
"Flag": {
"FlagStatus": "Flagged",
"DueDateTime": {
"DateTime": "2017-12-22T08:00:00.0000000",
"TimeZone": "UTC"
},
"StartDateTime": {
"DateTime": "2017-12-18T08:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Status code: 200
{
"@odata.context":"https://outlook.office365.com/api/beta/$metadata#Me/Contacts/$entity",
"@odata.id":"https://outlook.office365.com/api/beta/Users('af183ae6-7efa-41e4-aa87-fe8790598625@9ac5b33f-49cf-45f7-9ef1-b581dce364d8')/Contacts('AAMkADlkAAARKMK7AAA=')",
"@odata.etag":"W/\"EQAAABYAAADDii8zlkFETIcBiRn8yAbgAAARKpia\"",
"Id":"AAMkADlkAAARKMK7AAA=",
"CreatedDateTime":"2016-07-20T23:59:37Z",
"LastModifiedDateTime":"2016-07-20T23:59:38Z",
"ChangeKey":"EQAAABYAAADDii8zlkFETIcBiRn8yAbgAAARKpia",
"Categories":[
],
"ParentFolderId":"AAMkADlk8yAbgAAAAAAEOAAA=",
"Birthday":"1974-07-22T00:00:00Z",
"FileAs":"",
"DisplayName":"Pavel Bansky",
"GivenName":"Pavel",
"Initials":null,
"MiddleName":null,
"NickName":null,
"Surname":"Bansky",
"Title":null,
"YomiGivenName":null,
"YomiSurname":null,
"YomiCompanyName":null,
"Generation":null,
"EmailAddresses":[
{
"Name":"Pavel Bansky",
"Address":"pavelb@contoso.onmicrosoft.com"
}
],
"Websites":[
],
"ImAddresses":[
],
"JobTitle":null,
"CompanyName":null,
"Department":null,
"OfficeLocation":null,
"Profession":null,
"AssistantName":null,
"Manager":null,
"Phones":[
{
"Type":"Business",
"Number":"+1 732 555 0102"
}
],
"PostalAddresses":[
{
"Type": "Business",
"Street": "Some street",
"City": "Seattle",
"State": "WA",
"PostalCode": "98121"
}
],
"SpouseName":null,
"PersonalNotes":null,
"Children":[
],
"Gender":null,
"IsFavorite":null,
"Flag": {
"FlagStatus": "Flagged",
"DueDateTime": {
"DateTime": "2017-12-22T08:00:00.0000000",
"TimeZone": "UTC"
},
"StartDateTime": {
"DateTime": "2017-12-18T08:00:00.0000000",
"TimeZone": "UTC"
}
}
}
L'exemple suivant définit un contact précédemment marqué d'un indicateur comme Complete
.
PATCH https://outlook.office.com/api/beta/me/contacts/AAMkADlkAAARKMK7AAA=
Content-Type: application/json
{
"Flag": {
"CompletedDateTime":{
"DateTime": "2018-02-05T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"FlagStatus": "Complete"
}
}
Status code: 200
{
"@odata.context":"https://outlook.office365.com/api/beta/$metadata#Me/Contacts/$entity",
"@odata.id":"https://outlook.office365.com/api/beta/Users('af183ae6-7efa-41e4-aa87-fe8790598625@9ac5b33f-49cf-45f7-9ef1-b581dce364d8')/Contacts('AAMkADlkAAARKMK7AAA=')",
"@odata.etag":"W/\"EQAAABYAAADDii8zlkFETIcBiRn8yAbgAAARKpia\"",
"Id":"AAMkADlkAAARKMK7AAA=",
"CreatedDateTime":"2016-07-20T23:59:37Z",
"LastModifiedDateTime":"2016-07-20T23:59:38Z",
"ChangeKey":"EQAAABYAAABmngqUDhbeSLkRkXbBznTvAAEw/xwn",
"Categories":[
],
"ParentFolderId":"AAMkADlk8yAbgAAAAAAEOAAA=",
"Birthday":"1974-07-22T00:00:00Z",
"FileAs":"",
"DisplayName":"Pavel Bansky",
"GivenName":"Pavel",
"Initials":null,
"MiddleName":null,
"NickName":null,
"Surname":"Bansky",
"Title":null,
"YomiGivenName":null,
"YomiSurname":null,
"YomiCompanyName":null,
"Generation":null,
"EmailAddresses":[
{
"Name":"Pavel Bansky",
"Address":"pavelb@contoso.onmicrosoft.com"
}
],
"Websites":[
],
"ImAddresses":[
],
"JobTitle":null,
"CompanyName":null,
"Department":null,
"OfficeLocation":null,
"Profession":null,
"AssistantName":null,
"Manager":null,
"Phones":[
{
"Type":"Business",
"Number":"+1 732 555 0102"
}
],
"PostalAddresses":[
{
"Type": "Business",
"Street": "Some street",
"City": "Seattle",
"State": "WA",
"PostalCode": "98121"
}
],
"SpouseName":null,
"PersonalNotes":null,
"Children":[
],
"Gender":null,
"IsFavorite":null,
"Flag": {
"FlagStatus": "Complete",
"CompletedDateTime": {
"DateTime": "2018-02-06T00:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Le contactmis à jour.
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.
Un des éléments suivants :
- https://outlook.office.com/contacts.readwrite
- wl.contacts_create
DELETE https://outlook.office.com/api/beta/me/contacts/{contact_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
contact_id | chaîne | L'ID du contact. |
DELETE https://outlook.office.com/api/beta/me/contacts/AAMkAGE0Myy2hAAA=
Status code: 204
Vous pouvez obtenir une collection de dossiers de contacts ou obtenir un dossier de contacts.
Un des éléments suivants :
Obtenez tous les dossiers de contacts dans la messagerie de l'utilisateur connecté (.../me/contactfolders
), ou sous le dossier de contacts spécifié.
GET https://outlook.office.com/api/beta/me/contactfolders
GET https://outlook.office.com/api/beta/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. |
GET https://outlook.office.com/api/beta/me/contactfolders
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/ContactFolders",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/ContactFolders('AAMkAGI2TKI5AAA=')",
"Id": "AAMkAGI2TKI5AAA=",
"ParentFolderId": "AAMkAGI2AAEOAAA=",
"DisplayName": "Finance",
"WellKnownName": null
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/ContactFolders('AQMkADA1MTgAAAA==')",
"Id": "AQMkADA1MTgAAAA==",
"ParentFolderId": "AAMkAGI2AAEOAAA=",
"DisplayName": "Contacts",
"WellKnownName": "contacts"
}
]
}
La collection de dossiers de contacts demandée.
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/beta/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. |
GET https://outlook.office.com/api/beta/me/contactfolders/AAMkAGI2TKI5AAA=
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/ContactFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/ContactFolders('AAMkAGI2TKI5AAA=')",
"Id": "AAMkAGI2TKI5AAA=",
"ParentFolderId": "AAMkAGI2AAEOAAA=",
"DisplayName": "Finance",
"WellKnownName": null
}
Le dossier de contactsdemandé.
Un des éléments suivants :
Obtenir la photo de contact de l'utilisateur connecté spécifié.
GET https://outlook.office.com/api/beta/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é. |
GET https://outlook.office.com/api/beta/me/contacts('AAMkAGE1M2IyNGNm===')/photo/$value
Content-Type: image/jpg
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.
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/beta/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é. |
GET https://outlook.office.com/api/beta/me/contacts('AAMkAGE1M2IyNGNm')/photo
Une requête réussie renvoie HTTP 200.
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Contacts('AAMkAGE1M2IyNGNm')/photo/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-b826-40d7-b48b-57002df800e5@1717622f-49d1-4d0c-9d74-709fad664b77')/contacts('AAMkAGE1M2IyNGNm')/photo",
"@odata.readLink": "https://outlook.office.com/api/beta/Users('ddfcd489-b826-40d7-b48b-57002df800e5@1717622f-49d1-4d0c-9d74-709fad664b77')/contacts('AAMkAGE1M2IyNGNm')/photo",
"@odata.mediaContentType": "image/jpeg",
"Id": "103X77",
"Width": 103,
"Height": 77
}
Un des éléments suivants :
- https://outlook.office.com/contacts.readwrite
- wl.contacts_create
Affectez une photo au contact de l'utilisateur connecté spécifié. La photo devrait être en binaire. Elle remplace toute photo existant pour ce contact.
Utilisez uniquement PUT pour cette opération dans la version bêta.
PUT https://outlook.office.com/api/beta/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é. |
PUT https://outlook.office.com/api/beta/me/contacts('AAMkAGE1M2IyNGNm===')/photo/$value
Content-Type: image/jpeg
Incluez les données binaires de la photo dans le corps de la requête.
Une requête réussie renvoie HTTP 200.
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
- Inscrivez manuellement votre application dans Azure AD pour qu’elle 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