Admin Directory API . users

Instance Methods

aliases()

Returns the aliases Resource.

photos()

Returns the photos Resource.

delete(userKey)

Delete user

get(userKey, customFieldMask=None, projection=None, viewType=None)

retrieve user

insert(body=None)

create user.

list(customFieldMask=None, customer=None, domain=None, event=None, maxResults=None, orderBy=None, pageToken=None, projection=None, query=None, showDeleted=None, sortOrder=None, viewType=None)

Retrieve either deleted users or all users in a domain (paginated)

list_next(previous_request, previous_response)

Retrieves the next page of results.

makeAdmin(userKey, body=None)

change admin status of a user

patch(userKey, body=None)

update user. This method supports patch semantics.

undelete(userKey, body=None)

Undelete a deleted user

update(userKey, body=None)

update user

watch(body=None, customFieldMask=None, customer=None, domain=None, event=None, maxResults=None, orderBy=None, pageToken=None, projection=None, query=None, showDeleted=None, sortOrder=None, viewType=None)

Watch for changes in users list

Method Details

delete(userKey)
Delete user

Args:
  userKey: string, Email or immutable ID of the user (required)
get(userKey, customFieldMask=None, projection=None, viewType=None)
retrieve user

Args:
  userKey: string, Email or immutable ID of the user (required)
  customFieldMask: string, Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.
  projection: string, What subset of fields to fetch for this user.
    Allowed values
      basic - Do not include any custom fields for the user.
      custom - Include custom fields from schemas mentioned in customFieldMask.
      full - Include all fields associated with this user.
  viewType: string, Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.
    Allowed values
      admin_view - Fetches the ADMIN_VIEW of the user.
      domain_public - Fetches the DOMAIN_PUBLIC view of the user.

Returns:
  An object of the form:

    { # JSON template for User object in Directory API.
    "addresses": "",
    "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
    "aliases": [ # List of aliases (Read-only)
      "A String",
    ],
    "archived": True or False, # Indicates if user is archived.
    "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
    "creationTime": "A String", # User's G Suite account creation time. (Read-only)
    "customSchemas": { # Custom fields of the user.
      "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
        "a_key": "",
      },
    },
    "customerId": "A String", # CustomerId of User (Read-only)
    "deletionTime": "A String",
    "emails": "",
    "etag": "A String", # ETag of the resource.
    "externalIds": "",
    "gender": "",
    "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
    "id": "A String", # Unique identifier of User (Read-only)
    "ims": "",
    "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
    "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
    "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
    "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
    "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
    "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
    "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
    "keywords": "",
    "kind": "admin#directory#user", # Kind of resource this is.
    "languages": "",
    "lastLoginTime": "A String", # User's last login time. (Read-only)
    "locations": "",
    "name": { # JSON template for name of a user in Directory API. # User's name
      "familyName": "A String", # Last Name
      "fullName": "A String", # Full Name
      "givenName": "A String", # First Name
    },
    "nonEditableAliases": [ # List of non editable aliases (Read-only)
      "A String",
    ],
    "notes": "",
    "orgUnitPath": "A String", # OrgUnit of User
    "organizations": "",
    "password": "A String", # User's password
    "phones": "",
    "posixAccounts": "",
    "primaryEmail": "A String", # username of User
    "recoveryEmail": "A String", # Recovery email of the user.
    "recoveryPhone": "A String", # Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: +16506661212.
    "relations": "",
    "sshPublicKeys": "",
    "suspended": True or False, # Indicates if user is suspended.
    "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
    "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
    "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
    "websites": "",
  }
insert(body=None)
create user.

Args:
  body: object, The request body.
    The object takes the form of:

{ # JSON template for User object in Directory API.
  "addresses": "",
  "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
  "aliases": [ # List of aliases (Read-only)
    "A String",
  ],
  "archived": True or False, # Indicates if user is archived.
  "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
  "creationTime": "A String", # User's G Suite account creation time. (Read-only)
  "customSchemas": { # Custom fields of the user.
    "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
      "a_key": "",
    },
  },
  "customerId": "A String", # CustomerId of User (Read-only)
  "deletionTime": "A String",
  "emails": "",
  "etag": "A String", # ETag of the resource.
  "externalIds": "",
  "gender": "",
  "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
  "id": "A String", # Unique identifier of User (Read-only)
  "ims": "",
  "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
  "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
  "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
  "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
  "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
  "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
  "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
  "keywords": "",
  "kind": "admin#directory#user", # Kind of resource this is.
  "languages": "",
  "lastLoginTime": "A String", # User's last login time. (Read-only)
  "locations": "",
  "name": { # JSON template for name of a user in Directory API. # User's name
    "familyName": "A String", # Last Name
    "fullName": "A String", # Full Name
    "givenName": "A String", # First Name
  },
  "nonEditableAliases": [ # List of non editable aliases (Read-only)
    "A String",
  ],
  "notes": "",
  "orgUnitPath": "A String", # OrgUnit of User
  "organizations": "",
  "password": "A String", # User's password
  "phones": "",
  "posixAccounts": "",
  "primaryEmail": "A String", # username of User
  "recoveryEmail": "A String", # Recovery email of the user.
  "recoveryPhone": "A String", # Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: +16506661212.
  "relations": "",
  "sshPublicKeys": "",
  "suspended": True or False, # Indicates if user is suspended.
  "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
  "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
  "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
  "websites": "",
}


Returns:
  An object of the form:

    { # JSON template for User object in Directory API.
    "addresses": "",
    "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
    "aliases": [ # List of aliases (Read-only)
      "A String",
    ],
    "archived": True or False, # Indicates if user is archived.
    "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
    "creationTime": "A String", # User's G Suite account creation time. (Read-only)
    "customSchemas": { # Custom fields of the user.
      "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
        "a_key": "",
      },
    },
    "customerId": "A String", # CustomerId of User (Read-only)
    "deletionTime": "A String",
    "emails": "",
    "etag": "A String", # ETag of the resource.
    "externalIds": "",
    "gender": "",
    "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
    "id": "A String", # Unique identifier of User (Read-only)
    "ims": "",
    "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
    "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
    "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
    "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
    "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
    "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
    "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
    "keywords": "",
    "kind": "admin#directory#user", # Kind of resource this is.
    "languages": "",
    "lastLoginTime": "A String", # User's last login time. (Read-only)
    "locations": "",
    "name": { # JSON template for name of a user in Directory API. # User's name
      "familyName": "A String", # Last Name
      "fullName": "A String", # Full Name
      "givenName": "A String", # First Name
    },
    "nonEditableAliases": [ # List of non editable aliases (Read-only)
      "A String",
    ],
    "notes": "",
    "orgUnitPath": "A String", # OrgUnit of User
    "organizations": "",
    "password": "A String", # User's password
    "phones": "",
    "posixAccounts": "",
    "primaryEmail": "A String", # username of User
    "recoveryEmail": "A String", # Recovery email of the user.
    "recoveryPhone": "A String", # Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: +16506661212.
    "relations": "",
    "sshPublicKeys": "",
    "suspended": True or False, # Indicates if user is suspended.
    "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
    "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
    "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
    "websites": "",
  }
list(customFieldMask=None, customer=None, domain=None, event=None, maxResults=None, orderBy=None, pageToken=None, projection=None, query=None, showDeleted=None, sortOrder=None, viewType=None)
Retrieve either deleted users or all users in a domain (paginated)

Args:
  customFieldMask: string, Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.
  customer: string, Immutable ID of the G Suite account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain.
  domain: string, Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead.
  event: string, Event on which subscription is intended (if subscribing)
    Allowed values
      add - User Created Event
      delete - User Deleted Event
      makeAdmin - User Admin Status Change Event
      undelete - User Undeleted Event
      update - User Updated Event
  maxResults: integer, Maximum number of results to return.
  orderBy: string, Column to use for sorting results
    Allowed values
      email - Primary email of the user.
      familyName - User's family name.
      givenName - User's given name.
  pageToken: string, Token to specify next page in the list
  projection: string, What subset of fields to fetch for this user.
    Allowed values
      basic - Do not include any custom fields for the user.
      custom - Include custom fields from schemas mentioned in customFieldMask.
      full - Include all fields associated with this user.
  query: string, Query string search. Should be of the form "". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users
  showDeleted: string, If set to true, retrieves the list of deleted users. (Default: false)
  sortOrder: string, Whether to return results in ascending or descending order.
    Allowed values
      ASCENDING - Ascending order.
      DESCENDING - Descending order.
  viewType: string, Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.
    Allowed values
      admin_view - Fetches the ADMIN_VIEW of the user.
      domain_public - Fetches the DOMAIN_PUBLIC view of the user.

Returns:
  An object of the form:

    { # JSON response template for List Users operation in Apps Directory API.
    "etag": "A String", # ETag of the resource.
    "kind": "admin#directory#users", # Kind of resource this is.
    "nextPageToken": "A String", # Token used to access next page of this result.
    "trigger_event": "A String", # Event that triggered this response (only used in case of Push Response)
    "users": [ # List of user objects.
      { # JSON template for User object in Directory API.
        "addresses": "",
        "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
        "aliases": [ # List of aliases (Read-only)
          "A String",
        ],
        "archived": True or False, # Indicates if user is archived.
        "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
        "creationTime": "A String", # User's G Suite account creation time. (Read-only)
        "customSchemas": { # Custom fields of the user.
          "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
            "a_key": "",
          },
        },
        "customerId": "A String", # CustomerId of User (Read-only)
        "deletionTime": "A String",
        "emails": "",
        "etag": "A String", # ETag of the resource.
        "externalIds": "",
        "gender": "",
        "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
        "id": "A String", # Unique identifier of User (Read-only)
        "ims": "",
        "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
        "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
        "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
        "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
        "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
        "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
        "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
        "keywords": "",
        "kind": "admin#directory#user", # Kind of resource this is.
        "languages": "",
        "lastLoginTime": "A String", # User's last login time. (Read-only)
        "locations": "",
        "name": { # JSON template for name of a user in Directory API. # User's name
          "familyName": "A String", # Last Name
          "fullName": "A String", # Full Name
          "givenName": "A String", # First Name
        },
        "nonEditableAliases": [ # List of non editable aliases (Read-only)
          "A String",
        ],
        "notes": "",
        "orgUnitPath": "A String", # OrgUnit of User
        "organizations": "",
        "password": "A String", # User's password
        "phones": "",
        "posixAccounts": "",
        "primaryEmail": "A String", # username of User
        "recoveryEmail": "A String", # Recovery email of the user.
        "recoveryPhone": "A String", # Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: +16506661212.
        "relations": "",
        "sshPublicKeys": "",
        "suspended": True or False, # Indicates if user is suspended.
        "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
        "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
        "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
        "websites": "",
      },
    ],
  }
list_next(previous_request, previous_response)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
makeAdmin(userKey, body=None)
change admin status of a user

Args:
  userKey: string, Email or immutable ID of the user as admin (required)
  body: object, The request body.
    The object takes the form of:

{ # JSON request template for setting/revoking admin status of a user in Directory API.
    "status": True or False, # Boolean indicating new admin status of the user
  }

patch(userKey, body=None)
update user. This method supports patch semantics.

Args:
  userKey: string, Email or immutable ID of the user. If ID, it should match with id of user object (required)
  body: object, The request body.
    The object takes the form of:

{ # JSON template for User object in Directory API.
  "addresses": "",
  "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
  "aliases": [ # List of aliases (Read-only)
    "A String",
  ],
  "archived": True or False, # Indicates if user is archived.
  "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
  "creationTime": "A String", # User's G Suite account creation time. (Read-only)
  "customSchemas": { # Custom fields of the user.
    "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
      "a_key": "",
    },
  },
  "customerId": "A String", # CustomerId of User (Read-only)
  "deletionTime": "A String",
  "emails": "",
  "etag": "A String", # ETag of the resource.
  "externalIds": "",
  "gender": "",
  "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
  "id": "A String", # Unique identifier of User (Read-only)
  "ims": "",
  "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
  "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
  "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
  "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
  "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
  "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
  "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
  "keywords": "",
  "kind": "admin#directory#user", # Kind of resource this is.
  "languages": "",
  "lastLoginTime": "A String", # User's last login time. (Read-only)
  "locations": "",
  "name": { # JSON template for name of a user in Directory API. # User's name
    "familyName": "A String", # Last Name
    "fullName": "A String", # Full Name
    "givenName": "A String", # First Name
  },
  "nonEditableAliases": [ # List of non editable aliases (Read-only)
    "A String",
  ],
  "notes": "",
  "orgUnitPath": "A String", # OrgUnit of User
  "organizations": "",
  "password": "A String", # User's password
  "phones": "",
  "posixAccounts": "",
  "primaryEmail": "A String", # username of User
  "recoveryEmail": "A String", # Recovery email of the user.
  "recoveryPhone": "A String", # Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: +16506661212.
  "relations": "",
  "sshPublicKeys": "",
  "suspended": True or False, # Indicates if user is suspended.
  "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
  "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
  "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
  "websites": "",
}


Returns:
  An object of the form:

    { # JSON template for User object in Directory API.
    "addresses": "",
    "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
    "aliases": [ # List of aliases (Read-only)
      "A String",
    ],
    "archived": True or False, # Indicates if user is archived.
    "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
    "creationTime": "A String", # User's G Suite account creation time. (Read-only)
    "customSchemas": { # Custom fields of the user.
      "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
        "a_key": "",
      },
    },
    "customerId": "A String", # CustomerId of User (Read-only)
    "deletionTime": "A String",
    "emails": "",
    "etag": "A String", # ETag of the resource.
    "externalIds": "",
    "gender": "",
    "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
    "id": "A String", # Unique identifier of User (Read-only)
    "ims": "",
    "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
    "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
    "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
    "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
    "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
    "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
    "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
    "keywords": "",
    "kind": "admin#directory#user", # Kind of resource this is.
    "languages": "",
    "lastLoginTime": "A String", # User's last login time. (Read-only)
    "locations": "",
    "name": { # JSON template for name of a user in Directory API. # User's name
      "familyName": "A String", # Last Name
      "fullName": "A String", # Full Name
      "givenName": "A String", # First Name
    },
    "nonEditableAliases": [ # List of non editable aliases (Read-only)
      "A String",
    ],
    "notes": "",
    "orgUnitPath": "A String", # OrgUnit of User
    "organizations": "",
    "password": "A String", # User's password
    "phones": "",
    "posixAccounts": "",
    "primaryEmail": "A String", # username of User
    "recoveryEmail": "A String", # Recovery email of the user.
    "recoveryPhone": "A String", # Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: +16506661212.
    "relations": "",
    "sshPublicKeys": "",
    "suspended": True or False, # Indicates if user is suspended.
    "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
    "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
    "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
    "websites": "",
  }
undelete(userKey, body=None)
Undelete a deleted user

Args:
  userKey: string, The immutable id of the user (required)
  body: object, The request body.
    The object takes the form of:

{ # JSON request template to undelete a user in Directory API.
    "orgUnitPath": "A String", # OrgUnit of User
  }

update(userKey, body=None)
update user

Args:
  userKey: string, Email or immutable ID of the user. If ID, it should match with id of user object (required)
  body: object, The request body.
    The object takes the form of:

{ # JSON template for User object in Directory API.
  "addresses": "",
  "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
  "aliases": [ # List of aliases (Read-only)
    "A String",
  ],
  "archived": True or False, # Indicates if user is archived.
  "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
  "creationTime": "A String", # User's G Suite account creation time. (Read-only)
  "customSchemas": { # Custom fields of the user.
    "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
      "a_key": "",
    },
  },
  "customerId": "A String", # CustomerId of User (Read-only)
  "deletionTime": "A String",
  "emails": "",
  "etag": "A String", # ETag of the resource.
  "externalIds": "",
  "gender": "",
  "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
  "id": "A String", # Unique identifier of User (Read-only)
  "ims": "",
  "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
  "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
  "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
  "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
  "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
  "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
  "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
  "keywords": "",
  "kind": "admin#directory#user", # Kind of resource this is.
  "languages": "",
  "lastLoginTime": "A String", # User's last login time. (Read-only)
  "locations": "",
  "name": { # JSON template for name of a user in Directory API. # User's name
    "familyName": "A String", # Last Name
    "fullName": "A String", # Full Name
    "givenName": "A String", # First Name
  },
  "nonEditableAliases": [ # List of non editable aliases (Read-only)
    "A String",
  ],
  "notes": "",
  "orgUnitPath": "A String", # OrgUnit of User
  "organizations": "",
  "password": "A String", # User's password
  "phones": "",
  "posixAccounts": "",
  "primaryEmail": "A String", # username of User
  "recoveryEmail": "A String", # Recovery email of the user.
  "recoveryPhone": "A String", # Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: +16506661212.
  "relations": "",
  "sshPublicKeys": "",
  "suspended": True or False, # Indicates if user is suspended.
  "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
  "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
  "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
  "websites": "",
}


Returns:
  An object of the form:

    { # JSON template for User object in Directory API.
    "addresses": "",
    "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
    "aliases": [ # List of aliases (Read-only)
      "A String",
    ],
    "archived": True or False, # Indicates if user is archived.
    "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
    "creationTime": "A String", # User's G Suite account creation time. (Read-only)
    "customSchemas": { # Custom fields of the user.
      "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
        "a_key": "",
      },
    },
    "customerId": "A String", # CustomerId of User (Read-only)
    "deletionTime": "A String",
    "emails": "",
    "etag": "A String", # ETag of the resource.
    "externalIds": "",
    "gender": "",
    "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
    "id": "A String", # Unique identifier of User (Read-only)
    "ims": "",
    "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
    "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
    "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
    "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
    "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
    "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
    "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
    "keywords": "",
    "kind": "admin#directory#user", # Kind of resource this is.
    "languages": "",
    "lastLoginTime": "A String", # User's last login time. (Read-only)
    "locations": "",
    "name": { # JSON template for name of a user in Directory API. # User's name
      "familyName": "A String", # Last Name
      "fullName": "A String", # Full Name
      "givenName": "A String", # First Name
    },
    "nonEditableAliases": [ # List of non editable aliases (Read-only)
      "A String",
    ],
    "notes": "",
    "orgUnitPath": "A String", # OrgUnit of User
    "organizations": "",
    "password": "A String", # User's password
    "phones": "",
    "posixAccounts": "",
    "primaryEmail": "A String", # username of User
    "recoveryEmail": "A String", # Recovery email of the user.
    "recoveryPhone": "A String", # Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: +16506661212.
    "relations": "",
    "sshPublicKeys": "",
    "suspended": True or False, # Indicates if user is suspended.
    "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
    "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
    "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
    "websites": "",
  }
watch(body=None, customFieldMask=None, customer=None, domain=None, event=None, maxResults=None, orderBy=None, pageToken=None, projection=None, query=None, showDeleted=None, sortOrder=None, viewType=None)
Watch for changes in users list

Args:
  body: object, The request body.
    The object takes the form of:

{ # An notification channel used to watch for resource changes.
    "address": "A String", # The address where notifications are delivered for this channel.
    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
    "id": "A String", # A UUID or similar unique string that identifies this channel.
    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource, which is "api#channel".
    "params": { # Additional parameters controlling delivery channel behavior. Optional.
      "a_key": "A String", # Declares a new parameter by name.
    },
    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
    "resourceUri": "A String", # A version-specific identifier for the watched resource.
    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
    "type": "A String", # The type of delivery mechanism used for this channel.
  }

  customFieldMask: string, Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.
  customer: string, Immutable ID of the G Suite account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain.
  domain: string, Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead.
  event: string, Event on which subscription is intended (if subscribing)
    Allowed values
      add - User Created Event
      delete - User Deleted Event
      makeAdmin - User Admin Status Change Event
      undelete - User Undeleted Event
      update - User Updated Event
  maxResults: integer, Maximum number of results to return.
  orderBy: string, Column to use for sorting results
    Allowed values
      email - Primary email of the user.
      familyName - User's family name.
      givenName - User's given name.
  pageToken: string, Token to specify next page in the list
  projection: string, What subset of fields to fetch for this user.
    Allowed values
      basic - Do not include any custom fields for the user.
      custom - Include custom fields from schemas mentioned in customFieldMask.
      full - Include all fields associated with this user.
  query: string, Query string search. Should be of the form "". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users
  showDeleted: string, If set to true, retrieves the list of deleted users. (Default: false)
  sortOrder: string, Whether to return results in ascending or descending order.
    Allowed values
      ASCENDING - Ascending order.
      DESCENDING - Descending order.
  viewType: string, Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.
    Allowed values
      admin_view - Fetches the ADMIN_VIEW of the user.
      domain_public - Fetches the DOMAIN_PUBLIC view of the user.

Returns:
  An object of the form:

    { # An notification channel used to watch for resource changes.
      "address": "A String", # The address where notifications are delivered for this channel.
      "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
      "id": "A String", # A UUID or similar unique string that identifies this channel.
      "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource, which is "api#channel".
      "params": { # Additional parameters controlling delivery channel behavior. Optional.
        "a_key": "A String", # Declares a new parameter by name.
      },
      "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
      "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
      "resourceUri": "A String", # A version-specific identifier for the watched resource.
      "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
      "type": "A String", # The type of delivery mechanism used for this channel.
    }