Interfejs Directory API udostępnia metody automatycznego tworzenia, aktualizowania i usuwania użytkowników. Możesz też uzyskiwać informacje o poszczególnych użytkownikach lub listach użytkowników spełniających określone kryteria. Poniżej znajdziesz przykłady podstawowych działań użytkowników.
Tworzenie konta użytkownika
Konto użytkownika możesz dodać do dowolnej domeny konta Google Workspace. Zanim dodasz konto użytkownika, potwierdź własność domeny.
Jeśli osobiste konto Gmail zostało zmienione na firmowe konto e-mail z własną domeną, nie możesz tworzyć nowych kont użytkowników, dopóki nie odblokujesz dodatkowych ustawień Google Workspace. Więcej informacji znajdziesz w artykule Firmowe konta e-mail w G Suite zaktualizowane do G Suite Basic.
Aby utworzyć konto użytkownika przy użyciu jednej z Twoich domen, użyj poniższego żądania POST
i dołącz autoryzację opisaną w artykule Więcej informacji o uwierzytelnianiu i autoryzacji. Zakresy dostępne dla interfejsu Directory API możesz wyświetlić na liście zakresów OAuth 2.0. Właściwości ciągu zapytania znajdziesz w metodzie users.insert()
.
POST https://admin.googleapis.com/admin/directory/v1/users
Wszystkie prośby o utworzenie będą wymagać przesłania informacji niezbędnych do zrealizowania prośby. Jeśli używasz bibliotek klienta, konwertują one obiekty danych z wybranego języka na obiekty w formacie JSON.
Żądanie JSON
Ten kod JSON zawiera przykładowe żądanie utworzenia użytkownika. Pełną listę właściwości żądania i odpowiedzi znajdziesz w materiałach referencyjnych interfejsu 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
}
Jeśli częstotliwość zapytań dotyczących żądań utworzenia jest zbyt wysoka, możesz otrzymać odpowiedzi HTTP 503
z serwera API, które wskazują, że Twój limit został przekroczony. Po otrzymaniu tych odpowiedzi spróbuj użyć ich ponownie, korzystając z algorytmu wzrastającego wzrostu.
Ważne uwagi o nowym koncie:
- Jeśli konto Google ma kupione licencje na pocztę, nowe konto użytkownika zostanie automatycznie przypisane do skrzynki pocztowej. Wykonanie i aktywowanie tego projektu może potrwać kilka minut.
- Edycja pola tylko do odczytu w żądaniu, na przykład
isAdmin
, jest ignorowana przez interfejs API. - Maksymalna dozwolona liczba domen na koncie to 600 (1 domena podstawowa + 599 dodatkowych domen)
- Jeśli w momencie tworzenia konta użytkownika użytkownik nie był przypisany do określonej jednostki organizacyjnej, to konto należy do jednostki organizacyjnej najwyższego poziomu. Jednostka organizacyjna użytkownika określa, do których usług Google Workspace ma dostęp. Jeśli użytkownik zostanie przeniesiony do nowej organizacji, zmieni się jego dostęp do konta. Więcej informacji o strukturach organizacyjnych znajdziesz w Centrum pomocy dla administratorów. Więcej informacji o przenoszeniu użytkownika do innej organizacji znajdziesz w artykule Aktualizowanie użytkownika.
- Pole
password
jest wymagane w przypadku nowych kont użytkowników. Jeśli określonohashFunction
, hasło musi być prawidłowym kluczem skrótu. Jeśli nie jest podane, hasło powinno być w postaci zwykłego tekstu i mieć od 8 do 100 znaków ASCII. Więcej informacji znajdziesz w przewodniku po interfejsie API. - W przypadku użytkowników korzystających z abonamentu elastycznego Google Workspace tworzenie kont z użyciem tego interfejsu API będzie mieć wpływ na wyniki finansowe i spowoduje obciążenia Twojego konta rozliczeniowego klienta. Aby dowiedzieć się więcej, przeczytaj informacje rozliczeniowe dotyczące interfejsu API.
- Konto Google Workspace może zawierać dowolne domeny. Użytkownicy z wielu domen mogą udostępniać usługi użytkownikom w innych domenach. Aby dowiedzieć się więcej o użytkownikach z wielu domen, zobacz Informacje o interfejsie API wielu domen.
- Być może są konta będące w konflikcie. Sprawdź, czy osoba, którą chcesz dodać, ma już konto Google. Następnie wykonaj odpowiednie czynności, aby uniknąć konfliktów między tymi kontami. Zobacz Znajdowanie i rozwiązywanie kont będących w konflikcie.
- Mogą istnieć konta gości. Jeśli użytkownicy zaproszą do współpracy na Dysku osoby spoza organizacji, które nie mają konta Google, otrzymają one konta gości w formacie nazwa_użytkownika_nazwa_użytkownika@twoja_domena.com. Jeśli dodasz użytkownika o tej samej nazwie użytkownika co konto gościa, zostanie ono przekształcone w pełne konto Google Workspace. Konto zachowa bieżące uprawnienia do plików na Dysku. Zobacz Udostępnianie dokumentów użytkownikom.
Pomyślna odpowiedź zwraca kod stanu HTTP 200. Oprócz kodu stanu odpowiedź zawiera właściwości nowego konta użytkownika.
Aktualizowanie konta użytkownika
Aby zaktualizować konto użytkownika, użyj poniższego żądania PUT
i dołącz autoryzację opisaną w sekcji Autoryzacja żądań. userKey
może być podstawowym adresem e-mail użytkownika, unikalnym użytkownikiem id
lub jednym z jego aliasów.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
Zarówno żądanie, jak i treść odpowiedzi zawierają instancję User
. Jednak interfejs Directory API obsługuje semantykę poprawki, wystarczy więc przesłać zaktualizowane pola w żądaniu.
Przykładowe żądanie
W poniższym przykładzie givenName
użytkownika został utworzony podczas tworzenia konta „Elizabeth” i podany został tylko służbowy adres e-mail.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
}
Żądanie poniżej powoduje zmianę ciągu givenName
z „Elizabeth” na „Liz” i dodaje też domowy adres e-mail. Oba adresy e-mail są podane w całości, ponieważ to pole jest tablicą.
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"
}
]
}
Pomyślna odpowiedź zwraca kod stanu HTTP 200
i zasób User
ze zaktualizowanymi polami.
Podczas aktualizowania nazwy konta użytkownika zwróć uwagę na te kwestie:
- Zmiana nazwy konta użytkownika powoduje zmianę jego podstawowego adresu e-mail oraz domeny użytej do pobrania informacji o tym użytkowniku. Przed zmianą nazwy użytkownika zalecamy wylogowanie go ze wszystkich sesji i usług w przeglądarce.
- Proces zmiany nazwy konta użytkownika we wszystkich usługach może potrwać do 10 minut.
- Po zmianie nazwy użytkownika stara nazwa zostanie zachowana jako alias, aby zapewnić ciągłość dostarczania poczty w przypadku ustawień przekierowania poczty elektronicznej, i nie będzie dostępna jako nowa nazwa użytkownika.
- Zalecamy również, aby nie używać adresu e-mail użytkownika jako klucza do przechowywania danych trwałych, ponieważ może on ulec zmianie.
- Pełną listę efektów zmiany nazwy użytkownika w aplikacjach Google Workspace znajdziesz w Centrum pomocy dla administratorów.
Przypisywanie użytkownikowi roli administratora
Aby przyznać użytkownikowi uprawnienia superadministratora, użyj poniższego żądania POST
i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. userKey
może być podstawowym adresem e-mail użytkownika, unikalnym użytkownikiem id
lub jednym z jego aliasów. Właściwość właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API (w języku angielskim). Więcej informacji o superadministratorze znajdziesz w Centrum pomocy dla administratorów.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
Żądanie JSON
W tym przykładzie użytkownik, którego adres userKey
to liz@example.com, został superadministratorem:
POST https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/makeAdmin
{ "status": true }
Pomyślna odpowiedź zwraca kod stanu HTTP 200.
Zarządzanie relacjami z użytkownikami
Directory API używa pola relations
do definiowania różnych typów relacji między użytkownikami. W branży często używa się tego pola w relacjach menedżer–pracownik i asystent, ale obsługuje ono również wiele innych rodzajów elementów. Relacja zostanie wyświetlona na karcie „Powiązane osoby” w dowolnej aplikacji Google Workspace obsługującej tę kartę. Przykłady miejsc, w których karta jest widoczna, znajdziesz w artykule Dodawanie informacji do profilu użytkownika w katalogu.
Tworzenie relacji między użytkownikami
Relację można zdefiniować tylko w jednym kierunku, zaczynając od użytkownika „posiadającego”, którego rekord zawiera pole relations
. type
opisuje relację drugiej osoby z właścicielem. Na przykład w relacji menedżer-pracownik pracownik jest właścicielem, a do jego konta dodajesz pole relations
z typem manager
. Informacje o dozwolonych typach znajdziesz w dokumentacji obiektu User
.
Skonfiguruj relację, tworząc lub aktualizując właściciela treści za pomocą treści żądania JSON zawierającego pole relations
.
W jednym żądaniu można utworzyć wiele relacji.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_1",
"type": "manager"
},
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "dotted_line_manager"
}
]
}
Aktualizowanie lub usuwanie relacji
Pole relations
można zaktualizować tylko w całości – nie można zwracać się do poszczególnych osób z listy, jeśli chcesz zmienić ich typ lub usunąć. W powyższym przykładzie, aby usunąć istniejącą relację menedżera i zmienić menedżera użytkownika z kropkowanymi liniami na menedżera, który jest właścicielem konta użytkownika, zaktualizuj na koncie użytkownika wartości wszystkich wartości pola, tak jak chcesz.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Aby usunąć wszystkie relacje użytkownika, który jest właścicielem, ustaw wartość relations
na pustą:
{
"relations": []
}
Pobieranie konta użytkownika
Aby odzyskać konto użytkownika, użyj żądania GET
poniżej i dołącz autoryzację opisaną w artykule Autoryzacja żądań. userKey
może być podstawowym adresem e-mail użytkownika, unikalnym użytkownikiem id
lub jednym z jego aliasów. Właściwość właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey
Ten przykład zwraca właściwości konta użytkownika, którego podstawowy adres e-mail lub alias to liz@example.com:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Odpowiedź JSON
Pomyślna odpowiedź zwraca kod stanu HTTP 200. Oprócz kodu stanu odpowiedź zawiera właściwości konta użytkownika.
{ "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 }
Pobieranie wszystkich użytkowników z domeny
Aby pobrać wszystkich użytkowników z tej samej domeny, użyj poniższego żądania GET
i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. Aby zwiększyć czytelność, w tym przykładzie użyto zwrotów wiersza:
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*
Właściwość właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API.
Odpowiedź JSON
W tym przykładzie wszyscy użytkownicy w domenie example.com są zwracani z maksymalnie 2 domenami na stronę odpowiedzi. nextPageToken
zawiera poniższą listę użytkowników w tej odpowiedzi. Domyślnie system zwraca listę 100 użytkowników w kolejności alfabetycznej adresu e-mail:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
Pomyślna odpowiedź zwraca kod stanu HTTP 200. Wraz z kodem stanu odpowiedź zwróci 2 konta użytkowników w domenie 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", "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" }
Pobierz wszystkich użytkowników konta
Aby pobrać wszystkich użytkowników z konta, które może się składać z wielu domen, użyj poniższego żądania GET
i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. Aby zwiększyć czytelność, w tym przykładzie użyto zwrotów wiersza:
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
- Ciąg zapytania
customer
to wartośćmy_customer
lubcustomerId
. - Użyj ciągu
my_customer
, aby zaprezentowaćcustomerId
Twojego konta. - Jako administrator sprzedawcy użyj pliku
customerId
klienta sprzedaży. W polucustomerId
użyj nazwy domeny podstawowej konta w żądaniu Pobierz wszystkich użytkowników w domenie. Otrzymana odpowiedź ma wartośćcustomerId
. - Opcjonalny ciąg zapytania
orderBy
określa, czy lista ma być posortowana według podstawowego adresu e-mail użytkownika, nazwiska czy imienia i nazwiska. Jeśli używaszorderBy
, możesz też użyć ciągu zapytaniasortOrder
, aby wyświetlić wyniki w kolejności rosnącej lub malejącej. - Opcjonalny ciąg zapytania
query
umożliwia wyszukiwanie w wielu polach w profilu użytkownika, zarówno w polach podstawowym, jak i niestandardowym. Przykłady znajdziesz w sekcji Wyszukiwanie użytkowników.
Właściwość właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API.
W tym przykładzie administrator konta prosi wszystkich użytkowników na koncie o połączenie z jednym wpisem na każdej stronie odpowiedzi. nextPageToken
otwiera następującą stronę wyników:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
W tym przykładzie administrator sprzedawcy prosi o dostęp wszystkich użytkowników na sprzedanym koncie, które ma wartość customerId
C03az79cb
.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
Odpowiedź JSON
Pomyślna odpowiedź zwraca kod stanu HTTP 200. Razem z kodem stanu odpowiedź zwraca wszystkich użytkowników na tym koncie:
{ "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" }
Pobieranie niedawno usuniętych kont użytkowników
Aby odzyskać wszystkich użytkowników usuniętych w ciągu ostatnich 20 dni z poziomu konta lub jednej z domen konta, użyj następujących żądań GET
i dodaj autoryzację zgodnie z sekcją Autoryzuj żądania. Aby cofnąć usunięcie użytkownika, zobacz Przywracanie konta użytkownika.
Aby odzyskać użytkowników usuniętych w ciągu ostatnich 20 dni z domeny podstawowej lub subdomeny konta, skorzystaj z następującego żądania GET
. Ciąg zapytania domain
to nazwa domeny podstawowej. Właściwości żądania i odpowiedzi użytkownika znajdziesz w dokumentacji interfejsu API. Aby zwiększyć czytelność, w tym przykładzie użyto zwrotów wiersza:
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=trueJeśli konto ma wiele domen, możesz pobrać z konta użytkowników usuniętych w ciągu ostatnich 20 dni, korzystając z następującego żądania
GET
. Aby zwiększyć czytelność, w tym przykładzie użyto zwrotów wiersza:
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
- Ciąg zapytania
customer
to wartośćmy_customer
lubcustomerId
. - Jako administrator konta użyj ciągu znaków
my_customer
, aby reprezentowaćcustomerId
. - Jako administrator sprzedawcy użyj pliku
customerId
klienta sprzedaży. W polucustomerId
użyj nazwy domeny podstawowej konta w żądaniu Pobierz wszystkich użytkowników w domenie. Otrzymana odpowiedź ma wartośćcustomerId
.
Właściwość właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API.
W tym przykładzie administrator konta prosi o usunięcie wszystkich użytkowników z konta:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
Odpowiedź JSON
Pomyślna odpowiedź zwraca kod stanu HTTP 200. Oprócz kodu stanu odpowiedź zawiera wszystkie konta użytkowników usunięte w ciągu ostatnich 20 dni:
{ "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" }
Pobieranie zdjęcia użytkownika
Interfejs API pobiera 1 miniaturę zdjęcia, czyli najnowsze zdjęcie profilowe z Gmaila. Aby pobrać najnowsze zdjęcie użytkownika, użyj poniższego żądania GET
i dołącz autoryzację opisaną w sekcji Autoryzuj żądania. userKey
może być głównym adresem e-mail użytkownika, użytkownikiem id
lub dowolnym z aliasów adresów e-mail użytkownika. Właściwość właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
W tym przykładzie najnowsze zdjęcie użytkownika liz@example.com jest zwracane:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
Odpowiedź JSON
Pomyślna odpowiedź zwraca kod stanu 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" }
Kodowanie zdjęć w internecie przez interfejs API base64 jest podobne do tego w RFC 4648 'base64url'. Oznacza to, że:
- Znak ukośnika (/) jest zastąpiony znakiem podkreślenia (_).
- Znak plusa (+) zastępuje łącznik (-).
- Znak równości (=) jest zastąpiony gwiazdką (*).
- W przypadku dopełnienia do adresu używany jest symbol kropki (.) zamiast definicji adresu URL RFC-4648 korzystającej z znaku równości (=). Ma to na celu uproszczenie analizy adresów URL.
- Niezależnie od rozmiaru przesyłanego zdjęcia interfejs API zmniejsza go proporcjonalnie do rozmiaru 96 x 96 pikseli.
Jeśli chcesz utworzyć zgodne linki z JavaScriptu, biblioteka Google Closure zawiera funkcje kodowania i dekodowania Base64 udostępniane na licencji Apache.
Pobieranie konta użytkownika bez uprawnień administratora
Konta użytkowników mogą zmieniać tylko administratorzy, ale każdy użytkownik w domenie może odczytywać profile użytkowników. Użytkownik bez uprawnień administracyjnych może wysłać żądanie users.get
lub users.list
z parametrem viewType
równym domain_public
, aby pobrać profil publiczny użytkownika. Zakres https://www.googleapis.com/auth/admin.directory.user.readonly
idealnie sprawdza się w tym przypadku użycia.
Widok domain_public
umożliwia użytkownikowi bez uprawnień dostępu do standardowego zestawu podstawowych pól. W przypadku pola niestandardowego możesz określić, czy ma ono być publiczne czy prywatne.
Aktualizowanie zdjęcia użytkownika
Aby zaktualizować zdjęcie użytkownika, użyj następującej prośby PUT
i dołącz autoryzację opisaną w artykule Autoryzuj żądania. userKey
może być podstawowym adresem e-mail użytkownika, id
lub dowolnym z jego aliasów. Właściwość właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
W tym przykładzie zaktualizowane zostanie zdjęcie liz@example.com:
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
{
"photoData": "web safe base64 encoded photo data"
}
Podczas aktualizowania zdjęcia interfejsy height
i width
są ignorowane przez interfejs API.
Odpowiedź JSON
Pomyślna odpowiedź zwraca kod stanu 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" }
Usuwanie zdjęcia użytkownika
Aby usunąć zdjęcie użytkownika, użyj następującej prośby DELETE
i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. userKey
może być podstawowym adresem e-mail użytkownika, id
lub dowolnym z jego aliasów. Właściwość właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Po usunięciu zdjęcie użytkownika nie jest wyświetlane. Zawsze, gdy potrzebne jest zdjęcie użytkownika, wyświetla się jego sylwetka.
Usuwanie konta użytkownika
Aby usunąć konto użytkownika, użyj następującej prośby DELETE
i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. userKey
może być podstawowym adresem e-mail użytkownika, unikalnym użytkownikiem id
lub jednym z jego aliasów. Właściwość właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey
W tym przykładzie konto użytkownika liz@example.com zostanie usunięte:
DELETE https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Pomyślna odpowiedź zwraca tylko kod stanu HTTP 200.
Ważne kwestie, które należy wziąć pod uwagę przed usunięciem użytkownika:
- Usunięty użytkownik nie będzie mógł się zalogować.
- Więcej informacji o usuwaniu kont użytkowników znajdziesz w Centrum pomocy dla administratorów.
Cofanie usunięcia konta użytkownika
Użytkownik usunięty w ciągu ostatnich 20 dni musi spełniać określone warunki, aby można było przywrócić jego konto.
Aby cofnąć usunięcie konta użytkownika, użyj następującej prośby POST
i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. userKey
to unikalny użytkownik id
znaleziony w odpowiedzi na operację Pobierz użytkowników usuniętych w ciągu ostatnich 20 dni. W tej operacji w userKey
nie można używać podstawowego adresu e-mail użytkownika ani jednego z jego aliasów. Właściwość właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undelete
W tym przykładzie użytkownik liz@example.com zostaje przywrócony. Wszystkie wcześniejsze właściwości konta tego użytkownika zostaną przywrócone:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Pomyślna odpowiedź zwraca tylko kod stanu HTTP 204. Aby wyświetlić konto usuniętego użytkownika, użyj operacji Pobierz użytkownika.