Partager via


Répertorier les contacts

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Obtenir des contacts dans la boîte aux lettres de l’utilisateur.

Une application peut récupérer les contacts d’un autre utilisateur dans deux cas :

  • Si l’application dispose des autorisations d’application ; ou
  • Si l’application a les autorisations déléguées adéquates d’un utilisateur et si un autre utilisateur a partagé un calendrier avec cet utilisateur, ou s’il a accordé un accès délégué à cet utilisateur. Consultez les détails et un exemple.

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) Contacts.Read Contacts.ReadWrite
Déléguée (compte Microsoft personnel) Contacts.Read Contacts.ReadWrite
Application Contacts.Read Contacts.ReadWrite

Requête HTTP

Pour obtenir tous les contacts dans le dossier Contacts par défaut d’un utilisateur :

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

Pour obtenir les contacts d’un dossier spécifique de la boîte aux lettres de l’utilisateur :

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

GET /me/contactFolders/{id}/childFolders/{id}/.../contacts
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts

Paramètres facultatifs de la requête

Vous pouvez utiliser le paramètre de requête $filter pour filtrer les contacts en fonction du domaine de leurs adresses e-mail :

GET https://graph.microsoft.com/beta/me/contacts?$filter=emailAddresses/any(a:a/address eq 'garth@contoso.com')

Notez que vous pouvez utiliser$filter, anyet l’eq opérateur sur uniquement la sous-propriétéadresse d’instances dans une collection de sitesemailAddresses. Autrement dit, vous ne pouvez pas filtrer la propriété nom ou toute autre sous-propriété d’une instance de emailAddresses, ni appliquer tout autre opérateur ou fonction avec filter, tel que ne, le, et startswith().

Pour des informations générales sur le$filter paramètre de requête, voir paramètres de la requête OData.

En-têtes de demande

En-tête Valeur
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.

Corps de la demande

N’indiquez pas le corps de la demande pour cette méthode.

Réponse

Si elle réussit, cette méthode renvoie un 200 OK code de réponse et une collection d’objets contact dans le corps de la réponse.

Exemple

Demande

L’exemple suivant obtient les propriétés displayName et emailAddresses des contacts de l’utilisateur connecté.

GET https://graph.microsoft.com/beta/me/contacts?$select=displayName,emailAddresses

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('c3e1fcd2-db78-42a8-aec5-1f2cd59abb5c')/contacts(displayName,emailAddresses)",
    "value":[
        {
            "@odata.etag":"W/\"EQAAABYAAACv7At+UNVFRLhGciJGF6v5AAAve7f6\"",
            "id":"AAMkADh6v5AAAvgTCFAAA=",
            "displayName":"Elvis Blank",
            "emailAddresses":[
                {
                    "type":"personal",
                    "name":"Elvis Blank",
                    "address":"elvisb@contoso.com"
                },
                {
                    "type":"other",
                    "otherLabel":"Volunteer work",
                    "name":"Elvis Blank",
                    "address":"elvisb@contoso.com"
                }
            ]
        },
        {
            "@odata.etag":"W/\"EQAAABYAAACv7At+UNVFRLhGciJGF6v5AAAve7fn\"",
            "id":"AAMkADh6v5AAAvgTCEAAA=",
            "displayName":"Pavel Bansky",
            "emailAddresses":[
                {
                    "type":"personal",
                    "name":"Pavel Bansky",
                    "address":"pavelb@contoso.com"
                },
                {
                    "type":"other",
                    "otherLabel":"Volunteer work",
                    "name":"Pavel Bansky",
                    "address":"pavelb@contoso.com"
                }
            ]
        }
    ]
}