Send feedback
Migrating from Domain Service to the Admin SDK Advanced Services
Stay organized with collections
Save and categorize content based on your preferences.
The Domain service , which allows
G Suite domain administrators to manage users and groups, is
deprecated as of May 15, 2014 ,
and will be turned off on
November 20, 2014 . The service is replaced
by the recently added Admin SDK Directory
and Admin SDK Reports
advanced services. This page outlines the migration path from Domain service to
its new replacement, Admin SDK.
Method comparison
The table below provides an overview of the methods used in Domain service and
their equivalent methods (if any) in Admin SDK.
Domain services method
Admin SDK method
DomainGroup.addMember(memberId)
AdminDirectory.Members.insert(resource, groupKey)
In Admin SDK, a member's role in a group can be specified via
role
.
DomainGroup.addOwner(ownerId)
DomainGroup.deleteGroup()
AdminDirectory.Groups.remove(groupKey)
DomainGroup.getAllMembers()
AdminDirectory.Members.list(groupKey, optionalArgs)
In Admin SDK, owner(s) can be listed using the optional roles
parameter.
DomainGroup.getAllOwners()
DomainGroup.getDescription()
AdminDirectory.Groups.get(groupKey)
Property:
description
Property:
id
Property:
name
DomainGroup.getId()
DomainGroup.getName()
DomainGroup.getPermissionLevel()
N/A
DomainGroup.removeMember(memberId)
AdminDirectory.Members.remove(groupKey, memberKey)
DomainGroup.removeOwner(ownerId)
DomainGroup.setDescription(description)
AdminDirectory.Groups.patch(resource, groupKey)
Property:
description
Property:
name
DomainGroup.setName(name)
DomainGroup.setPermissionLevel(level)
N/A
DomainNickname.deleteNickname()
AdminDirectory.Users.Aliases.remove(userKey, alias)
DomainNickname.getNickname()
AdminDirectory.Users.Aliases.list(userKey, optionalArgs)
Property:
aliases
Property:
primaryEmail
DomainNickname.getUsername()
DomainUser.deleteUser()
AdminDirectory.Users.remove(userKey)
DomainUser.getAgreedToTerms()
AdminDirectory.Users.get(userKey)
Property:
agreedToTerms
Property:
changePasswordAtNextLogin
Property:
primaryEmail
Property:
name.familyName
Property:
name.givenName
Property:
isAdmin
Property:
suspended
DomainUser.getChangePasswordAtNextLogin()
DomainUser.getEmail()
DomainUser.getFamilyName()
DomainUser.getGivenName()
DomainUser.getIsAdmin()
DomainUser.getIsSuspended()
DomainUser.getStorageQuota()
AdminReports.UserUsageReport.get(userKey, date, optionalArgs)
Account:
total_quota_in_mb
DomainUser.setChangePasswordAtNext
Login(changePassword)
AdminDirectory.Users.patch(resource, userKey)
Property:
changePasswordAtNextLogin
Property:
name.familyName
Property:
name.givenName
DomainUser.setFamilyName(name)
DomainUser.setGivenName(name)
DomainUser.setIsAdmin(admin)
AdminDirectory.Users.makeAdmin(resource, userKey)
Property:
isAdmin
DomainUser.setIsSuspended(suspended)
AdminDirectory.Users.patch(resource, userKey)
Property:
suspended
Property:
password
Property:
primaryEmail
DomainUser.setPassword(password)
DomainUser.setUsername(username)
GroupsManager.createGroup(groupId, name, description, permissionLevel)
GroupsManager.createGroup(groupId, name)
AdminDirectory.Groups.insert(resource)
Setting the permission level isn't supported in the Admin SDK.
GroupsManager.getAllGroups()
GroupsManager.getAllGroups(memberId)
AdminDirectory.Groups.list(optionalArgs)
Parameter:
userKey
GroupsManager.getDomain()
NicknameManager.getDomain()
UserManager.getDomain()
N/A
As a workaround, get a single user's email address and extract the
domain.
GroupsManager.getGroup(groupId)
AdminDirectory.Groups.get(groupKey)
NicknameManager.createNickname(username, nickname)
AdminDirectory.Users.Aliases.insert(resource, userKey)
NicknameManager.getAllNicknames()
N/A
NicknameManager.getAllNicknames(username)
AdminDirectory.Users.Aliases.list(userKey, optionalArgs)
You will need to loop through the results to find the nickname.
NicknameManager.getNickname(nickname)
UserManager.createUser(username, givenName, familyName, password)
UserManager.createUser(username, givenName, familyName, password, passwordHashFunction)
AdminDirectory.Users.insert(resource)
Property:
hashFunction
UserManager.getAllUsers()
AdminDirectory.Users.list(optionalArgs)
Either the
customer
or the
domain
parameter must be provided. As an account
administrator, you can also use the my_customer
alias to
represent your account's customerId
.
UserManager.getUser(user)
UserManager.getUser(username)
AdminDirectory.Users.get(userKey)
New features in Admin SDK
In addition to the supported methods outlined above, the Admin SDK advanced
services provide the following new features:
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-31 UTC.
Need to tell us more?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-31 UTC."],[[["The Domain service for managing users and groups in Google Apps Script is deprecated and will be shut down."],["Domain service is replaced by the Admin SDK Directory and Admin SDK Reports advanced services."],["This page provides a migration path, including a comparison table of Domain service methods and their Admin SDK equivalents."],["Admin SDK offers new features such as admin notifications, application-specific passwords, device management, and more."]]],[]]