Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Usługa Directory w pakiecie Admin SDK umożliwia korzystanie z interfejsu Directory API z pakietu Admin SDK w Apps Script. Ten interfejs API umożliwia administratorom domen Google Workspace (w tym resellerom) zarządzanie urządzeniami, grupami, użytkownikami i innymi podmiotami w ich domenach.
Dokumentacja
Szczegółowe informacje o tej usłudze znajdziesz w dokumentacji referencyjnej interfejsu Directory API pakietu Admin SDK. Podobnie jak wszystkie usługi zaawansowane w Apps Script, usługa Admin SDK Directory korzysta z tych samych obiektów, metod i parametrów co publiczny interfejs API. Więcej informacji znajdziesz w artykule Jak określane są sygnatury metod.
/** * Lists all the users in a domain sorted by first name. * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/list */functionlistAllUsers(){letpageToken;letpage;do{page=AdminDirectory.Users.list({domain:'example.com',orderBy:'givenName',maxResults:100,pageToken:pageToken});constusers=page.users;if(!users){console.log('No users found.');return;}// Print the user's full name and email.for(constuserofusers){console.log('%s (%s)',user.name.fullName,user.primaryEmail);}pageToken=page.nextPageToken;}while(pageToken);}
Pobranie użytkownika
Ten przykład pobiera użytkownika na podstawie jego adresu e-mail i rejestruje wszystkie jego dane jako ciąg znaków JSON.
/** * Get a user by their email address and logs all of their data as a JSON string. * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/get */functiongetUser(){// TODO (developer) - Replace userEmail value with yoursconstuserEmail='liz@example.com';try{constuser=AdminDirectory.Users.get(userEmail);console.log('User data:\n %s',JSON.stringify(user,null,2));}catch(err){// TODO (developer)- Handle exception from the APIconsole.log('Failed with error %s',err.message);}}
Dodaj użytkownika
Ten przykład dodaje do domeny nowego użytkownika, podając tylko wymagane informacje. Pełną listę pól użytkownika znajdziesz w dokumentacji referencyjnej interfejsu API.
/** * Adds a new user to the domain, including only the required information. For * the full list of user fields, see the API's reference documentation: * @see https://developers.google.com/admin-sdk/directory/v1/reference/users/insert */functionaddUser(){letuser={// TODO (developer) - Replace primaryEmail value with yoursprimaryEmail:'liz@example.com',name:{givenName:'Elizabeth',familyName:'Smith'},// Generate a random password string.password:Math.random().toString(36)};try{user=AdminDirectory.Users.insert(user);console.log('User %s created with ID %s.',user.primaryEmail,user.id);}catch(err){// TODO (developer)- Handle exception from the APIconsole.log('Failed with error %s',err.message);}}
Tworzenie aliasu
Ten przykład tworzy alias (pseudonim) dla użytkownika.
/** * Creates an alias (nickname) for a user. * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/users.aliases/insert */functioncreateAlias(){// TODO (developer) - Replace userEmail value with yoursconstuserEmail='liz@example.com';letalias={alias:'chica@example.com'};try{alias=AdminDirectory.Users.Aliases.insert(alias,userEmail);console.log('Created alias %s for user %s.',alias.alias,userEmail);}catch(err){// TODO (developer)- Handle exception from the APIconsole.log('Failed with error %s',err.message);}}
Pokaż wszystkie grupy
Ten przykład zawiera listę wszystkich grup w domenie.
/** * Lists all the groups in the domain. * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/groups/list */functionlistAllGroups(){letpageToken;letpage;do{page=AdminDirectory.Groups.list({domain:'example.com',maxResults:100,pageToken:pageToken});constgroups=page.groups;if(!groups){console.log('No groups found.');return;}// Print group name and email.for(constgroupofgroups){console.log('%s (%s)',group.name,group.email);}pageToken=page.nextPageToken;}while(pageToken);}
Dodawanie członka grupy
Ten przykład dodaje użytkownika do istniejącej grupy w domenie.
/** * Adds a user to an existing group in the domain. * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/members/insert */functionaddGroupMember(){// TODO (developer) - Replace userEmail value with yoursconstuserEmail='liz@example.com';// TODO (developer) - Replace groupEmail value with yoursconstgroupEmail='bookclub@example.com';constmember={email:userEmail,role:'MEMBER'};try{AdminDirectory.Members.insert(member,groupEmail);console.log('User %s added as a member of group %s.',userEmail,groupEmail);}catch(err){// TODO (developer)- Handle exception from the APIconsole.log('Failed with error %s',err.message);}}
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-08-31 UTC."],[[["\u003cp\u003eThe Admin SDK Directory service enables Google Workspace administrators to manage domain resources like users, groups, and devices within Apps Script using the Directory API.\u003c/p\u003e\n"],["\u003cp\u003eThis advanced service requires enabling both the Admin SDK and the specific service before use, and it mirrors the functionality of the public Directory API.\u003c/p\u003e\n"],["\u003cp\u003eSample code snippets demonstrate common tasks like listing and managing users, creating aliases, and handling groups and their members via the Admin SDK Directory service.\u003c/p\u003e\n"],["\u003cp\u003eBefore using the sample code, remember to enable the Admin SDK, replace placeholder values with your specific data, and refer to the documentation for details on API usage and error handling.\u003c/p\u003e\n"]]],[],null,["# Admin SDK Directory Service\n\nThe Admin SDK Directory service allows you to use the Admin SDK's\n[Directory API](/admin-sdk/directory) in Apps Script. This API gives\nadministrators of Google Workspace domains (including\nresellers) the ability to\nmanage devices, groups, users, and other entities in their domains.\n| **Note:** This is an advanced service that must be [enabled before use](/apps-script/guides/services/advanced). Additionally, the Admin SDK must be enabled on your domain, as described in the API's [prerequisites documentation](/admin-sdk/directory/v1/guides/prerequisites).\n\nReference\n---------\n\nFor detailed information on this service, see the\n[reference documentation](/admin-sdk/directory/v1/reference) for the Admin SDK\nDirectory API. Like all advanced services in Apps Script, the Admin SDK\nDirectory service uses the same objects, methods, and parameters as the public\nAPI. For more information, see [How method signatures are determined](/apps-script/guides/services/advanced#how_method_signatures_are_determined).\n\nTo report issues and find other support, see the\n[Admin SDK Directory support guide](/admin-sdk/directory/support).\n\nSample code\n-----------\n\nThe sample code below uses [version 1](/admin-sdk/directory/v1/reference) of\nthe API.\n\n### List all users\n\nThis sample lists all the users in a domain sorted by first name. \nadvanced/adminSDK.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/adminSDK.gs) \n\n```javascript\n/**\n * Lists all the users in a domain sorted by first name.\n * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/list\n */\nfunction listAllUsers() {\n let pageToken;\n let page;\n do {\n page = AdminDirectory.Users.list({\n domain: 'example.com',\n orderBy: 'givenName',\n maxResults: 100,\n pageToken: pageToken\n });\n const users = page.users;\n if (!users) {\n console.log('No users found.');\n return;\n }\n // Print the user's full name and email.\n for (const user of users) {\n console.log('%s (%s)', user.name.fullName, user.primaryEmail);\n }\n pageToken = page.nextPageToken;\n } while (pageToken);\n}\n```\n\n### Get user\n\nThis sample gets a user by their email address and logs all of their data as a\nJSON string. \nadvanced/adminSDK.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/adminSDK.gs) \n\n```javascript\n/**\n * Get a user by their email address and logs all of their data as a JSON string.\n * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/get\n */\nfunction getUser() {\n // TODO (developer) - Replace userEmail value with yours\n const userEmail = 'liz@example.com';\n try {\n const user = AdminDirectory.Users.get(userEmail);\n console.log('User data:\\n %s', JSON.stringify(user, null, 2));\n } catch (err) {\n // TODO (developer)- Handle exception from the API\n console.log('Failed with error %s', err.message);\n }\n}\n```\n\n### Add user\n\nThis sample adds a new user to the domain, including only the required\ninformation. For the full list of user fields, see the API's\n[reference documentation](/admin-sdk/directory/v1/reference/users/insert). \nadvanced/adminSDK.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/adminSDK.gs) \n\n```javascript\n/**\n * Adds a new user to the domain, including only the required information. For\n * the full list of user fields, see the API's reference documentation:\n * @see https://developers.google.com/admin-sdk/directory/v1/reference/users/insert\n */\nfunction addUser() {\n let user = {\n // TODO (developer) - Replace primaryEmail value with yours\n primaryEmail: 'liz@example.com',\n name: {\n givenName: 'Elizabeth',\n familyName: 'Smith'\n },\n // Generate a random password string.\n password: Math.random().toString(36)\n };\n try {\n user = AdminDirectory.Users.insert(user);\n console.log('User %s created with ID %s.', user.primaryEmail, user.id);\n } catch (err) {\n // TODO (developer)- Handle exception from the API\n console.log('Failed with error %s', err.message);\n }\n}\n```\n\n### Create alias\n\nThis sample creates an alias (nickname) for a user. \nadvanced/adminSDK.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/adminSDK.gs) \n\n```javascript\n/**\n * Creates an alias (nickname) for a user.\n * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/users.aliases/insert\n */\nfunction createAlias() {\n // TODO (developer) - Replace userEmail value with yours\n const userEmail = 'liz@example.com';\n let alias = {\n alias: 'chica@example.com'\n };\n try {\n alias = AdminDirectory.Users.Aliases.insert(alias, userEmail);\n console.log('Created alias %s for user %s.', alias.alias, userEmail);\n } catch (err) {\n // TODO (developer)- Handle exception from the API\n console.log('Failed with error %s', err.message);\n }\n}\n```\n\n### List all groups\n\nThis sample lists all the groups in the domain. \nadvanced/adminSDK.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/adminSDK.gs) \n\n```javascript\n/**\n * Lists all the groups in the domain.\n * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/groups/list\n */\nfunction listAllGroups() {\n let pageToken;\n let page;\n do {\n page = AdminDirectory.Groups.list({\n domain: 'example.com',\n maxResults: 100,\n pageToken: pageToken\n });\n const groups = page.groups;\n if (!groups) {\n console.log('No groups found.');\n return;\n }\n // Print group name and email.\n for (const group of groups) {\n console.log('%s (%s)', group.name, group.email);\n }\n pageToken = page.nextPageToken;\n } while (pageToken);\n}\n```\n\n### Add group member\n\nThis sample adds a user to an existing group in the domain. \nadvanced/adminSDK.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/adminSDK.gs) \n\n```javascript\n/**\n * Adds a user to an existing group in the domain.\n * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/members/insert\n */\nfunction addGroupMember() {\n // TODO (developer) - Replace userEmail value with yours\n const userEmail = 'liz@example.com';\n // TODO (developer) - Replace groupEmail value with yours\n const groupEmail = 'bookclub@example.com';\n const member = {\n email: userEmail,\n role: 'MEMBER'\n };\n try {\n AdminDirectory.Members.insert(member, groupEmail);\n console.log('User %s added as a member of group %s.', userEmail, groupEmail);\n } catch (err) {\n // TODO (developer)- Handle exception from the API\n console.log('Failed with error %s', err.message);\n }\n}\n```"]]