L'API Directory fournit des méthodes programmatiques pour créer, modifier et supprimer des utilisateurs. Vous pouvez également obtenir des informations sur des utilisateurs individuels ou des listes d'utilisateurs qui répondent à des critères spécifiques. Voici quelques exemples d'opérations de base sur les utilisateurs.
Créer un compte utilisateur
Vous pouvez ajouter un compte utilisateur à n'importe quel domaine de votre compte Google Workspace. Avant d'ajouter un compte utilisateur, confirmez que vous êtes le propriétaire du domaine.
Si vous avez transformé votre compte Gmail personnel en compte de messagerie professionnel avec votre propre nom de domaine, vous ne pouvez pas créer de comptes utilisateur tant que vous n'avez pas déverrouillé des paramètres Google Workspace supplémentaires. Pour en savoir plus, consultez la section Mise à jour des comptes de messagerie professionnelle Google Workspace.
Pour créer un compte utilisateur à l'aide de l'un de vos domaines, utilisez la POST
requête suivante et incluez l'autorisation décrite dans
la section En savoir plus sur l'authentification et l'autorisation.
Vous pouvez consulter les champs d'application disponibles pour l'API Directory dans la
liste des champs d'application OAuth 2.0.
Pour en savoir plus sur les propriétés de la chaîne de requête, consultez la
users.insert
méthode.
POST https://admin.googleapis.com/admin/directory/v1/users
Toutes les requêtes de création nécessitent que vous fournissiez les informations nécessaires pour les exécuter. Si vous utilisez des bibliothèques clientes, elles convertissent les objets de données du langage de votre choix en objets au format JSON.
Requête JSON
L'exemple JSON suivant montre une requête permettant de créer un utilisateur. Pour obtenir la liste complète des propriétés de requête et de réponse, consultez la documentation de référence de l'API.
{
"primaryEmail": "liz@example.com",
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"suspended": false,
"password": "NEW_USER_PASSWORD",
"hashFunction": "SHA-1",
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"ims": [
{
"type": "work",
"protocol": "gtalk",
"im": "liz_im@talk.example.com",
"primary": true
}
],
"emails": [
{
"address": "liz@example.com",
"type": "home",
"customType": "",
"primary": true
}
],
"addresses": [
{
"type": "work",
"customType": "",
"streetAddress": "1600 Amphitheatre Parkway",
"locality": "Mountain View",
"region": "CA",
"postalCode": "94043"
}
],
"externalIds": [
{
"value": "12345",
"type": "custom",
"customType": "employee"
}
],
"organizations": [
{
"name": "Google Inc.",
"title": "SWE",
"primary": true,
"type": "work",
"description": "Software engineer"
}
],
"phones": [
{
"value": "+1 nnn nnn nnnn",
"type": "work"
}
],
"orgUnitPath": "/corp/engineering",
"includeInGlobalAddressList": true
}
Si votre taux de requêtes de création est trop élevé, vous pouvez recevoir des réponses HTTP 503 du serveur d'API indiquant que vous avez dépassé votre quota. Si vous recevez ces réponses, utilisez un
algorithme d'intervalle exponentiel entre les tentatives pour
réessayer vos requêtes.
Lorsque vous créez un compte, tenez compte des points suivants :
- Si le compte Google a acheté des licences de messagerie, une boîte aux lettres est automatiquement attribuée au nouvel utilisateur. L'attribution peut prendre quelques minutes.
- La modification d'un champ en lecture seule dans une requête, tel que
isAdmin, est ignorée par le service d'API. - Le nombre maximal de domaines autorisés dans un compte est de 600 (1 domaine principal + 599 domaines supplémentaires).
- Si aucun utilisateur n'a été attribué à une unité organisationnelle spécifique lors de la création du compte utilisateur, le compte se trouve dans l'unité organisationnelle de premier niveau. L'unité organisationnelle d'un utilisateur détermine les services Google Workspace auxquels il a accès. Si l'utilisateur est transféré dans une nouvelle organisation, son accès est modifié. Pour en savoir plus sur les structures organisationnelles, consultez le centre d'aide pour les administrateurs. Pour en savoir plus sur le transfert d'un utilisateur vers une autre organisation, consultez la section Modifier un utilisateur.
- Un
passwordest requis pour les nouveaux comptes utilisateur. Si unehashFunctionest spécifiée, le mot de passe doit être une clé de hachage valide. S'il n'est pas spécifié, le mot de passe doit être en texte clair et comporter entre 8 et 100 caractères ASCII. Pour en savoir plus, consultez la documentation de référence de l'API. - Pour les utilisateurs disposant d'un forfait flexible pour Google Workspace, la création d'utilisateurs à l'aide de cette API aura un impact financier et entraînera des frais sur le compte de facturation de votre client. Pour en savoir plus, consultez les informations de facturation de l'API.
- Un compte Google Workspace peut inclure n'importe lequel de vos domaines. Dans un compte multidomaine, les utilisateurs d'un domaine peuvent partager des services avec les utilisateurs d'autres domaines du compte. Pour en savoir plus sur les utilisateurs dans plusieurs domaines, consultez les informations sur les domaines multiples de l'API.
- Il existe un risque de conflit entre les comptes. Vérifiez si une personne que vous souhaitez ajouter possède déjà un compte Google. Suivez ensuite les étapes pour éviter les conflits avec ces comptes. Consultez À propos des comptes en conflit.
- Des comptes de visiteurs peuvent être présents. Si des utilisateurs invitent des personnes externes à votre
organisation ne disposant pas de compte Google pour collaborer sur
Drive, celles-ci reçoivent un compte de visiteur, au format
visitor's_username@your_domain.com. Si vous ajoutez un utilisateur avec le même nom d'utilisateur que celui utilisé pour un compte de visiteur, celui-ci devient un compte Google Workspace complet. et garde ses autorisations actuelles d'accès aux fichiers dans Drive. Consultez Partager des documents avec des visiteurs.
Une réponse ayant abouti renvoie le code d'état HTTP 200. Outre le code d'état, la réponse affiche les propriétés du nouveau compte utilisateur.
Modifier un compte utilisateur
Pour modifier un compte utilisateur, utilisez la requête PUT suivante et incluez l'
autorisation décrite dans
Autoriser les requêtes. La userKey peut être l'adresse e-mail principale de l'utilisateur, son id unique ou l'une de ses adresses e-mail d'alias.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
Le corps de la requête et de la réponse contiennent une instance de
User. Toutefois, l'API
Directory est compatible avec la
sémantique des correctifs. Vous n'avez donc
qu'à envoyer les champs modifiés dans votre requête.
Exemple de requête
Dans l'exemple ci-dessous, le givenName de l'utilisateur était "Elizabeth" lors de la création du compte utilisateur, et seule une adresse e-mail professionnelle a été fournie.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
]
}
La requête suivante remplace givenName par "Liz" et ajoute également une adresse e-mail personnelle. Notez que les deux adresses e-mail sont fournies intégralement, car le champ est un tableau.
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
{
"name": {
"givenName": "Liz",
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
},
{
"address": "liz@home.com",
"type": "home"
}
]
}
Une réponse ayant abouti renvoie le
HTTP 200 code d'état
et une ressource User
avec les champs modifiés.
Tenez compte des points suivants lorsque vous modifiez le nom du compte d'un utilisateur :
- Le fait de renommer un compte utilisateur modifie l'adresse e-mail principale de l'utilisateur et le domaine utilisé lors de la récupération de ses informations. Avant de renommer un utilisateur, nous vous recommandons de le déconnecter de toutes les sessions de navigateur et de tous les services.
- Le processus de changement de nom d'un compte utilisateur peut prendre jusqu'à 10 minutes pour se propager à tous les services.
- Lorsque vous renommez un utilisateur, l'ancien nom d'utilisateur est conservé en tant qu'alias pour garantir la continuité de la distribution des messages en cas de paramètres de transfert d'e-mails. Il n'est pas disponible en tant que nouvel utilisateur.
- En général, nous vous recommandons également de ne pas utiliser l'adresse e-mail de l'utilisateur comme clé pour les données persistantes, car elle est susceptible d'être modifiée.
- Pour obtenir la liste complète des effets du changement de nom d'un utilisateur dans les applications Google Workspace, consultez le centre d'aide pour les administrateurs.
Désigner un utilisateur comme administrateur
Pour désigner un utilisateur comme super-administrateur, utilisez la requête POST suivante et
incluez l'autorisation décrite dans
Autoriser les requêtes. La userKey peut être l'adresse e-mail principale de l'utilisateur, son id unique ou l'une de ses adresses e-mail d'alias. Pour en savoir plus sur les propriétés de requête et de réponse,
consultez la documentation de référence de l'API.
Pour en savoir plus sur les super-administrateurs, consultez le
centre d'aide pour les administrateurs.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
L'utilisateur doit d'abord exister avant de pouvoir être désigné comme super-administrateur. Seul le super-administrateur d'un compte peut effectuer cette opération. Les administrateurs délégués ne peuvent pas promouvoir des utilisateurs à des rôles d'administrateur. Pour savoir comment utiliser la console d'administration Google pour modifier le rôle d'un administrateur, consultez le centre d'aide pour les administrateurs.
Requête JSON
Dans cet exemple, l'utilisateur dont la userKey est liz@example.com est devenu super-administrateur :
POST https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/makeAdmin
{
"status": true
}
Une réponse ayant abouti renvoie le code d'état HTTP 200.
Gérer les relations entre les utilisateurs
L'API Directory utilise le champ relations pour définir différents types de relations entre les utilisateurs. Dans un contexte professionnel, les utilisateurs utilisent généralement ce champ pour les relations entre un responsable et un employé, ou entre un assistant et un employé, mais il est compatible avec de nombreux autres types. La relation s'affiche dans la fiche "Personnes associées" de l'utilisateur dans n'importe quelle application Google Workspace compatible avec cette fiche. Pour obtenir des exemples d'emplacements où la fiche est visible, consultez la section
Ajouter des informations au profil d'annuaire d'un utilisateur.
Créer une relation entre des utilisateurs
Vous ne pouvez définir une relation que dans un seul sens, à partir de l'utilisateur "propriétaire", dont l'enregistrement inclut le champ relations. Le type décrit la relation de l'autre personne avec l'utilisateur propriétaire. Par exemple, dans une relation entre un responsable et un employé, l'employé est l'utilisateur propriétaire et vous ajoutez un champ relations à son compte avec le type manager. Pour connaître les types autorisés,
consultez la documentation de référence de l'objet User.
Configurez la relation en créant ou en modifiant
l'utilisateur propriétaire avec un corps de requête JSON qui inclut le champ relations.
Vous pouvez créer plusieurs relations dans une seule requête.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_1",
"type": "manager"
},
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "dotted_line_manager"
}
]
}
Modifier ou supprimer une relation
Vous ne pouvez modifier le champ relations que dans son ensemble. Vous ne pouvez pas vous adresser aux personnes listées individuellement pour modifier le type de relation ou les supprimer. Dans l'exemple précédent, pour supprimer la relation de responsable existante et faire du responsable en pointillés le responsable de l'utilisateur propriétaire, modifiez le compte de l'utilisateur propriétaire avec toutes les valeurs du champ telles que vous les souhaitez.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Pour supprimer toutes les relations de l'utilisateur propriétaire, définissez relations sur une valeur vide :
{
"relations": []
}
Récupérer un utilisateur
Pour récupérer un utilisateur, utilisez la requête GET suivante et incluez l'autorisation décrite dans la section Autoriser les requêtes. La userKey peut être l'adresse e-mail principale de l'utilisateur, son id unique ou l'une de ses adresses e-mail d'alias. Pour en savoir plus sur les propriétés de requête et de réponse,
consultez la documentation de référence de l'API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey
Cet exemple renvoie les propriétés du compte utilisateur dont l'adresse e-mail principale ou d'alias est liz@example.com :
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Réponse JSON
Une réponse ayant abouti renvoie le code d'état HTTP 200. Outre le code d'état, la réponse affiche les propriétés du compte utilisateur.
{
"kind": "directory#user",
"id": "the unique user id",
"primaryEmail": "liz@example.com",
"name": {
"givenName": "Liz",
"familyName": "Smith",
"fullName": "Liz Smith"
},
"isAdmin": true,
"isDelegatedAdmin": false,
"lastLoginTime": "2013-02-05T10:30:03.325Z",
"creationTime": "2010-04-05T17:30:04.325Z",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"ims": [
{
"type": "work",
"protocol": "gtalk",
"im": "lizim@talk.example.com",
"primary": true
}
],
"emails": [
{
"address": "liz@example.com",
"type": "home",
"customType": "",
"primary": true
}
],
"addresses": [
{
"type": "work",
"customType": "",
"streetAddress": "1600 Amphitheatre Parkway",
"locality": "Mountain View",
"region": "CA",
"postalCode": "94043"
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "office"
}
],
"organizations": [
{
"name": "Google Inc.",
"title": "SWE",
"primary": true,
"customType": "",
"description": "Software engineer"
}
],
"phones": [
{
"value": "+1 nnn nnn nnnn",
"type": "work"
}
],
"aliases": [
"lizsmith@example.com",
"lsmith@example.com"
],
"nonEditableAliases": [
"liz@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "corp/engineering",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
}
Récupérer tous les utilisateurs d'un domaine
Pour récupérer tous les utilisateurs du même domaine, utilisez la requête GET suivante et
incluez l'autorisation décrite dans
Autoriser les requêtes. Pour plus de lisibilité, des retours à la ligne ont été inclus dans cet exemple :
GET https://admin.googleapis.com/admin/directory/v1/users
?domain=primary domain name&pageToken=token for next results page
&maxResults=max number of results per page
&orderBy=email, givenName, or familyName
&sortOrder=ascending or descending
&query=email, givenName, or familyName:the query's value*
Pour en savoir plus sur les propriétés de requête et de réponse, consultez la documentation de référence de l'API.
Réponse JSON
Dans cet exemple, tous les utilisateurs du domaine example.com sont renvoyés avec un maximum de deux domaines utilisateur par page de réponse. Un nextPageToken est disponible pour la liste de suivi des utilisateurs dans cette réponse. Par défaut, le système renvoie une liste de 100 utilisateurs par ordre alphabétique de leur adresse e-mail :
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
Une réponse ayant abouti renvoie le code d'état HTTP 200. Outre le code d'état, la réponse renvoie deux comptes utilisateur dans le domaine example.com (maxResults=2) :
{
"kind": "directory#users",
"users": [
{
"kind": "directory#user",
"id": "the unique user id",
"primaryEmail": "liz@example.com",
"name": {
"givenName": "Liz",
"familyName": "Smith",
"fullName": "Liz Smith"
},
"isAdmin": true,
"isDelegatedAdmin": false,
"lastLoginTime": "2013-02-05T10:30:03.325Z",
"creationTime": "2010-04-05T17:30:04.325Z",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"ims": [
{
"type": "work",
"protocol": "gtalk",
"im": "lizim@talk.example.com",
"primary": true
}
],
"emails": [
{
"address": "liz@example.com",
"type": "work",
"customType": "",
"primary": true
}
],
"addresses": [
{
"type": "work",
"customType": "",
"streetAddress": "1600 Amphitheatre Parkway",
"locality": "Mountain View",
"region": "CA",
"postalCode": "94043"
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "office"
}
],
"organizations": [
{
"name": "Google Inc.",
"title": "SWE",
"primary": true,
"customType": "",
"description": "Software engineer"
}
],
"phones": [
{
"value": "+1 nnn nnn nnnn",
"type": "work"
}
],
"aliases": [
"lizsmith@example.com",
"lsmith@example.com"
],
"nonEditableAliases": [
"liz@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "corp/engineering",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
},
{
"kind": "directory#user",
"id": "user unique ID",
"primaryEmail": "admin2@example.com",
"name": {
"givenName": "admin",
"familyName": "two",
"fullName": "admin two"
},
"isAdmin": true,
"isDelegatedAdmin": true,
"lastLoginTime": "2013-02-05T10:30:03.325Z",
"creationTime": "2010-04-05T17:30:04.325Z",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": true,
"suspensionReason": "ADMIN",
"suspensionTime": "2013-02-05T10:30:03.325Z",
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"emails": [
{
"address": "admin2@example.com",
"type": "work",
"customType": "",
"primary": true
}
],
"externalIds": [
{
"value": "contractor license number",
"type": "custom",
"customType": "work"
}
],
"aliases": [
"second_admin@example.com"
],
"nonEditableAliases": [
"admin@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "corp/engineering",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
}
],
"nextPageToken": "next page token"
}
Récupérer tous les utilisateurs d'un compte
Pour récupérer tous les utilisateurs d'un compte, qui peut comporter plusieurs domaines, utilisez
la requête GET suivante et incluez l'autorisation décrite dans
Autoriser les requêtes. Pour plus de lisibilité, des retours à la ligne ont été inclus dans cet exemple :
GET https://admin.googleapis.com/admin/directory/v1/users
?customer=my_customer or customerId&pageToken=token for next results page
&maxResults=max number of results per page
&orderBy=email, givenName, or familyName
&sortOrder=ascending or descending
&query=user attributes
- La chaîne de requête
customercorrespond à la valeurmy_customeroucustomerId. - Utilisez la chaîne
my_customerpour représenter lecustomerIdde votre compte. - En tant qu'administrateur revendeur, utilisez le
customerIddu client revendu. Pour lecustomerId, utilisez le nom de domaine principal du compte dans la requête de l'opération Récupérer tous les utilisateurs d'un domaine. La réponse obtenue comporte la valeurcustomerId. - La chaîne de requête
orderByfacultative détermine si la liste est triée par adresse e-mail principale, nom de famille ou prénom de l'utilisateur. Lorsque vous utilisezorderBy, vous pouvez également utiliser la chaîne de requêtesortOrderpour afficher les résultats par ordre croissant ou décroissant. - La chaîne de requête
queryfacultative permet d'effectuer une recherche dans de nombreux champs d'un profil utilisateur, y compris les champs principaux et personnalisés. Pour obtenir des exemples, consultez la sectionRechercher des utilisateurs.
Pour en savoir plus sur les propriétés de requête et de réponse, consultez la documentation de référence de l'API.
Dans cet exemple, un administrateur de compte demande à ce que tous les utilisateurs du compte soient renvoyés avec une entrée utilisateur sur chaque page de réponse. Le nextPageToken redirige vers la page de résultats suivante :
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
Dans cet exemple, un administrateur revendeur demande à ce que tous les utilisateurs d'un compte revendu dont la valeur customerId est C03az79cb soient renvoyés.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
Réponse JSON
Une réponse ayant abouti renvoie le code d'état HTTP 200. Outre le code d'état, la réponse renvoie tous les utilisateurs de ce compte :
{
"kind": "directory#users",
"users": [
{
"kind": "directory#user",
"id": "the unique user id",
"username": "admin2@example.com",
"name": {
"givenName": "admin",
"familyName": "two",
"fullName": "admin two"
},
"isAdmin": true,
"isDelegatedAdmin": true,
"lastLoginTime": "2013-02-05T10:30:03.325Z",
"creationTime": "2010-04-05T17:30:04.325Z",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"emails": [
{
"address": "admin2@example.com",
"type": "work",
"customType": "",
"primary": true
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "office"
}
],
"aliases": [
"second_admin@example.com"
],
"nonEditableAliases": [
"another_admin@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "/",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
},
{
"kind": "directory#user",
"id": "the unique user id",
"username": "liz@example.com",
"name": {
"givenName": "Elizabeth",
"familyName": "Smith",
"fullName": "Elizabeth Smith"
},
"isAdmin": false,
"isDelegatedAdmin": false,
"lastLoginTime": "1336509883546",
"creationTime": "1404802800000",
"agreedToTerms": false,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"emails": [
{
"address": "liz@example.com",
"type": "home",
"customType": "",
"primary": true
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "bank"
}
],
"relations": [
{
"value": "liz",
"type": "friend",
"customType": ""
}
],
"aliases": [
"lizsmith@example.com",
"lsmith@example.com"
],
"nonEditableAliases": [
"liz@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "/",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
},
{
"kind": "directory#user",
"id": "the unique user id",
"username": "test3@example.com",
"name": {
"givenName": "Tester",
"familyName": "Three",
"fullName": "Tester Three"
},
"isAdmin": false,
"isDelegatedAdmin": false,
"lastLoginTime": "1336509883546",
"creationTime": "1404802800000",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"emails": [
{
"address": "test@example.com",
"type": "work",
"customType": "",
"primary": true
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "office"
}
],
"aliases": [
"tester3@example.com"
],
"nonEditableAliases": [
"third@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "/",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
},
{
"kind": "directory#user",
"id": "the unique user id",
"username": "work_admin@example.com",
"name": {
"givenName": "Admin",
"familyName": "Work",
"fullName": "Admin Work"
},
"isAdmin": true,
"isDelegatedAdmin": true,
"lastLoginTime": "1336509883546",
"creationTime": "1404802800000",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"emails": [
{
"address": "work_admin@example.com",
"type": "work",
"customType": "",
"primary": true
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "office"
}
],
"aliases": [
"my_alias@example.com"
],
"nonEditableAliases": [
"other_alias@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "/",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
}
],
"nextPageToken": "NNNNN"
}
Récupérer les utilisateurs récemment supprimés
Pour récupérer tous les utilisateurs supprimés au cours des 20 derniers jours d'un
compte ou de l'un de ses domaines, utilisez les requêtes GET suivantes
et incluez l'autorisation décrite dans
Autoriser les requêtes. Pour
annuler la suppression d'un utilisateur, consultez la section Annuler la suppression d'un utilisateur.
Pour récupérer les utilisateurs supprimés au cours des 20 derniers jours du domaine principal ou d'un sous-domaine du compte, utilisez la requête GET suivante. La chaîne de requête domain correspond au nom de domaine principal du domaine. Pour en savoir plus sur les propriétés de requête et de
réponse de l'utilisateur, consultez la
documentation de référence de l'API. Pour plus de lisibilité, des retours à la ligne ont été inclus dans cet exemple :
GET https://admin.googleapis.com/admin/directory/v1/users
?domain=primary domain name&pageToken=token for next results page
&maxResults=max number of results per page
&showDeleted=true
Si un compte comporte plusieurs domaines, vous pouvez récupérer les utilisateurs supprimés au cours des 20 derniers jours de l'ensemble du compte à l'aide de la requête GET suivante. Pour plus de lisibilité, des retours à la ligne ont été inclus dans cet exemple :
GET https://admin.googleapis.com/admin/directory/v1/users
?customer=my_customer or customerId&pageToken=token for next results page
&maxResults=max number of results per page&showDeleted=true
- La chaîne de requête
customercorrespond à la valeurmy_customeroucustomerId. - En tant qu'administrateur de compte, utilisez la chaîne
my_customerpour représenter lecustomerIdde votre compte. - En tant qu'administrateur revendeur, utilisez le
customerIddu client revendu. Pour lecustomerId, utilisez le nom de domaine principal du compte dans la requête de l'opération Récupérer tous les utilisateurs d'un domaine. La réponse obtenue comporte la valeurcustomerId.
Pour en savoir plus sur les propriétés de requête et de réponse, consultez la documentation de référence de l'API.
Dans cet exemple, un administrateur de compte demande à ce que tous les utilisateurs supprimés du compte soient renvoyés :
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
Réponse JSON
Une réponse ayant abouti renvoie le code d'état HTTP 200. Outre le code d'état, la réponse renvoie tous les utilisateurs du compte supprimés au cours des 20 derniers jours :
{
"kind": "directory#users",
"users": [
{
"kind": "directory#user",
"id": "the unique user id",
"primaryEmail": "user1@example.com"
},
{
"kind": "directory#user",
"id": "the unique user id",
"primaryEmail": "user3@example.com"
}
],
"nextPageToken": "token for next page of deleted users"
}
Récupérer la photo d'un utilisateur
L'API récupère une vignette de photo, la dernière photo du profil Google. Pour
récupérer la dernière photo de l'utilisateur, utilisez la requête GET suivante et incluez
l'autorisation décrite dans
la section Autoriser les requêtes. La userKey peut être l'adresse e-mail principale de l'utilisateur, son id ou l'une de ses adresses e-mail d'alias. Pour en savoir plus sur les propriétés de requête et de réponse, consultez la
documentation de référence de l'API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Dans cet exemple, la dernière photo de liz@example.com est renvoyée :
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
Réponse JSON
Une réponse ayant abouti renvoie le code d'état HTTP 200.
{
"kind": "directory#user#photo",
"id": "the unique user id",
"primaryEmail": "liz@example.com",
"mimeType": "the photo mime type",
"height": "the photo height in pixels",
"width": "the photo width in pixels",
"photoData": "web safe base64 encoded photo data"
}
L'encodage en base64 sécurisé pour le Web de vos photos par l'API est semblable à la norme RFC 4648 "base64url". Ainsi :
- Le caractère barre oblique (/) est remplacé par le caractère trait de soulignement (_).
- Le caractère signe plus (+) est remplacé par le caractère trait d'union (-).
- Le caractère signe égal (=) est remplacé par l'astérisque (*).
- Pour le remplissage, le caractère point (.) est utilisé à la place de la définition baseURL RFC-4648, qui utilise le signe égal (=) pour le remplissage. Cette opération est effectuée pour simplifier l'analyse des URL.
- Quelle que soit la taille de la photo importée, l'API la réduit proportionnellement à 96 x 96 pixels.
Si vous devez créer des liens compatibles à partir de JavaScript, la bibliothèque Google Closure inclut des fonctions d'encodage et de décodage en base64 qui sont publiées sous la licence Apache.
Récupérer un utilisateur en tant qu'utilisateur non administrateur
Bien que les comptes utilisateur ne puissent être modifiés que par des administrateurs, n'importe quel utilisateur du domaine peut lire les profils utilisateur. Un utilisateur non administrateur peut effectuer une
users.get ou
users.list requête avec
le paramètre viewType défini sur domain_public pour récupérer le profil public
d'un utilisateur. Le champ d'application https://www.googleapis.com/auth/admin.directory.user.readonly est idéal pour ce cas d'utilisation.
La vue domain_public permet à un utilisateur non administrateur d'accéder à un ensemble standard de champs principaux. Pour un champ personnalisé, vous pouvez choisir s'il doit être public ou privé lors de la définition du schéma.
Modifier la photo d'un utilisateur
Pour modifier la photo d'un utilisateur, utilisez la requête PUT suivante et incluez l'
autorisation décrite dans
Autoriser les requêtes. La userKey peut être l'adresse e-mail principale de l'utilisateur, son id ou l'une de ses adresses e-mail d'alias. Pour en savoir plus sur les propriétés de requête et de réponse, consultez la
documentation de référence de l'API.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Dans cet exemple, la photo de liz@example.com est modifiée :
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
{
"photoData": "web safe base64 encoded photo data"
}
Lors de la modification d'une photo, l'API ignore les paramètres height et width.
Réponse JSON
Une réponse ayant abouti renvoie le code d'état HTTP 200.
{
"kind": "directory#user#photo",
"id": "the unique user id",
"primaryEmail": "liz@example.com",
"mimeType": "the photo mime type",
"height": "the photo height in pixels",
"width": "the photo width in pixels",
"photoData": "web safe base64 encoded photo data"
}
Supprimer la photo d'un utilisateur
Pour supprimer la photo d'un utilisateur, utilisez la requête DELETE suivante et incluez l'
autorisation décrite dans la section
Autoriser les requêtes. La userKey peut être l'adresse e-mail principale de l'utilisateur, son id ou l'une de ses adresses e-mail d'alias. Pour en savoir plus sur les propriétés de requête et de réponse, consultez la
documentation de référence de l'API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Une fois la photo supprimée, elle n'est plus affichée. Une silhouette s'affiche à la place de la photo de l'utilisateur.
Supprimer un compte utilisateur
Pour supprimer un compte utilisateur, utilisez la requête DELETE suivante et incluez l'
autorisation décrite dans
Autoriser les requêtes. La userKey peut être l'adresse e-mail principale de l'utilisateur, son id unique ou l'une de ses adresses e-mail d'alias. Pour en savoir plus sur les propriétés de requête et de réponse,
consultez la documentation de référence de l'API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey
Dans cet exemple, le compte utilisateur liz@example.com est supprimé :
DELETE https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Une réponse ayant abouti renvoie le code d'état HTTP 200.
Avant de supprimer un utilisateur, tenez compte des points suivants :
- L'utilisateur supprimé ne peut plus se connecter.
- Pour en savoir plus sur la suppression de comptes utilisateur, consultez le centre d'aide pour les administrateurs.
Annuler la suppression d'un compte utilisateur
Un utilisateur supprimé au cours des 20 derniers jours doit remplir certaines conditions pour que son compte puisse être restauré.
Pour annuler la suppression d'un compte utilisateur, utilisez la requête POST suivante et incluez l'
autorisation décrite dans
Autoriser les requêtes. Le
userKey correspond à l'utilisateur unique id trouvé dans la réponse de l'opération
Récupérer les utilisateurs supprimés au cours des 20 derniers jours.
L'adresse e-mail principale de l'utilisateur ou l'une de ses adresses e-mail d'alias ne peuvent pas être utilisées dans la userKey pour cette opération. Pour en savoir plus sur les propriétés de requête et
de réponse, consultez la
documentation de référence de l'API.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undelete
Dans cet exemple, la suppression de l'utilisateur liz@example.com est annulée. Toutes les propriétés de compte précédentes de cet utilisateur sont restaurées :
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Une réponse ayant abouti renvoie le code d'état HTTP 204. Pour afficher le compte de l'utilisateur dont la suppression a été annulée, utilisez l'opération Récupérer un utilisateur.