Directory API menyediakan metode terprogram untuk membuat, memperbarui, dan menghapus pengguna. Anda juga bisa mendapatkan informasi tentang pengguna perorangan atau daftar pengguna yang memenuhi kriteria tertentu. Berikut adalah contoh beberapa operasi pengguna dasar.
Membuat akun pengguna
Anda dapat menambahkan akun pengguna ke domain akun Google Workspace. Sebelum menambahkan akun pengguna, konfirmasi kepemilikan domain .
Jika Anda mengupgrade akun Gmail pribadi ke akun email bisnis dengan nama domain Anda sendiri, Anda tidak dapat membuat akun pengguna baru hingga Anda membuka setelan Google Workspace tambahan. Untuk mengetahui detailnya, lihat Akun email bisnis Google Workspace diperbarui.
Untuk membuat akun pengguna menggunakan salah satu domain Anda, gunakan POST
permintaan berikut dan sertakan otorisasi yang dijelaskan dalam
Mempelajari autentikasi dan otorisasi.
Anda dapat melihat cakupan yang tersedia untuk Directory API dalam daftar cakupan OAuth 2.0
.
Untuk properti string kueri permintaan, lihat metode
users.insert.
POST https://admin.googleapis.com/admin/directory/v1/users
Semua permintaan pembuatan mengharuskan Anda mengirimkan informasi yang diperlukan untuk memenuhi permintaan tersebut. Jika Anda menggunakan library klien, library tersebut akan mengonversi objek data dari bahasa yang Anda pilih menjadi objek berformat JSON.
Permintaan JSON
JSON berikut menunjukkan contoh permintaan untuk membuat pengguna. Untuk daftar lengkap properti permintaan dan respons, lihat Referensi 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
}
Jika frekuensi kueri Anda untuk permintaan pembuatan terlalu tinggi, Anda mungkin akan menerima respons HTTP 503 dari server API yang menunjukkan bahwa kuota Anda telah terlampaui. Jika Anda mendapatkan respons ini, gunakan
algoritma backoff eksponensial untuk
mencoba kembali permintaan Anda.
Saat Anda membuat akun baru, perhatikan hal-hal berikut:
- Jika Akun Google telah membeli lisensi email, akun pengguna baru akan otomatis diberi kotak masuk. Penetapan ini mungkin memerlukan waktu beberapa menit untuk diselesaikan dan diaktifkan.
- Pengeditan kolom hanya baca dalam permintaan, seperti
isAdmin, akan diabaikan secara diam-diam oleh layanan API. - Jumlah maksimum domain yang diizinkan dalam akun adalah 600 (1 domain utama + 599 domain tambahan).
- Jika pengguna tidak ditetapkan ke unit organisasi tertentu saat akun pengguna dibuat, akun tersebut akan berada di unit organisasi tingkat teratas. Unit organisasi pengguna menentukan layanan Google Workspace yang dapat diakses pengguna. Jika pengguna dipindahkan ke organisasi baru, akses pengguna akan berubah. Untuk mengetahui informasi selengkapnya tentang struktur organisasi, lihat pusat bantuan administrasi. Untuk mengetahui informasi selengkapnya tentang cara memindahkan pengguna ke organisasi lain, lihat Memperbarui data pengguna.
passworddiperlukan untuk akun pengguna baru. JikahashFunctionditentukan, sandi harus berupa kunci hash yang valid. Jika tidak ditentukan, sandi harus dalam teks yang jelas dan antara 8–100 karakter ASCII. Untuk mengetahui informasi selengkapnya, lihat Referensi API.- Untuk pengguna yang menggunakan paket fleksibel untuk Google Workspace, pembuatan pengguna menggunakan API ini akan berdampak finansial dan mengakibatkan biaya pada akun penagihan pelanggan Anda. Untuk mengetahui informasi selengkapnya, lihat informasi penagihan API.
- Akun Google Workspace dapat menyertakan domain Anda. Dalam akun multi-domain, pengguna di satu domain dapat berbagi layanan dengan pengguna di domain akun lainnya. Untuk mengetahui informasi selengkapnya tentang pengguna di beberapa domain, lihat informasi multi-domain API.
- Mungkin ada akun bentrok. Periksa untuk mengetahui apakah setiap orang yang ingin ditambahkan sudah memiliki Akun Google. Kemudian, ikuti langkah-langkahnya untuk menghindari konflik dengan akun tersebut. Lihat Menemukan dan mengatasi akun bentrok.
- Mungkin ada akun pengunjung. Jika pengguna mengundang orang di luar
organisasi Anda yang tidak memiliki Akun Google untuk berkolaborasi di
Drive, mereka akan menerima akun pengunjung, dalam format
visitor's_username@your_domain.com. Jika Anda menambahkan pengguna dengan nama pengguna yang sama seperti akun pengunjung, akun tersebut akan dikonversi menjadi akun Google Workspace sepenuhnya. Akun tersebut akan mempertahankan izin file Drive-nya saat itu. Lihat Berbagi dokumen dengan pengunjung.
Respons yang berhasil akan menampilkan kode status HTTP 200. Bersama dengan kode status, respons akan menampilkan properti untuk akun pengguna baru.
Memperbarui akun pengguna
Untuk memperbarui akun pengguna, gunakan permintaan PUT berikut dan sertakan
otorisasi yang dijelaskan dalam
Permintaan otorisasi. userKey dapat berupa alamat email utama pengguna, id pengguna unik, atau salah satu alamat email alias pengguna.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
Isi permintaan dan respons berisi instance
User. Namun, Directory API mendukung
semantik patch, sehingga Anda
hanya perlu mengirimkan kolom yang diperbarui dalam permintaan Anda.
Permintaan sampel
Dalam contoh di bawah, givenName pengguna adalah "Elizabeth" saat akun pengguna dibuat, dan hanya alamat email kantor yang diberikan.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
]
}
Permintaan berikut memperbarui givenName dari "Elizabeth" menjadi "Liz", dan juga menambahkan alamat email rumah. Perhatikan bahwa kedua alamat email diberikan sepenuhnya karena kolom tersebut adalah array.
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"
}
]
}
Respons yang berhasil akan menampilkan
HTTP 200 kode status
dan resource User
dengan kolom yang diperbarui.
Perhatikan hal-hal berikut saat memperbarui nama akun pengguna:
- Mengganti nama akun pengguna akan mengubah alamat email utama pengguna dan domain yang digunakan saat mengambil informasi pengguna ini. Sebelum mengganti nama pengguna, sebaiknya logout pengguna dari semua sesi dan layanan browser.
- Proses penggantian nama akun pengguna dapat memerlukan waktu hingga 10 menit untuk diterapkan di semua layanan.
- Saat Anda mengganti nama pengguna, nama pengguna lama akan dipertahankan sebagai alias untuk memastikan pengiriman email yang berkelanjutan jika ada setelan penerusan email, dan tidak tersedia sebagai nama pengguna baru.
- Secara umum, sebaiknya jangan gunakan alamat email pengguna sebagai kunci untuk data persisten karena alamat email dapat berubah.
- Untuk mengetahui daftar lengkap efek penggantian nama pengguna di seluruh aplikasi Google Workspace aplikasi, lihat pusat bantuan Admin.
Mengubah pengguna menjadi administrator
Untuk mengubah pengguna menjadi administrator super, gunakan permintaan POST berikut dan
sertakan otorisasi yang dijelaskan dalam
Permintaan otorisasi. userKey dapat berupa alamat email utama pengguna, id pengguna unik, atau salah satu alamat email alias pengguna. Untuk properti permintaan dan respons,
lihat Referensi API.
Untuk mengetahui informasi selengkapnya tentang administrator super, lihat
pusat bantuan administrasi.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
Pengguna harus ada terlebih dahulu sebelum diubah menjadi administrator super. Operasi ini hanya dapat dilakukan oleh administrator super akun; administrator yang didelegasikan tidak dapat mempromosikan pengguna ke peran administratif. Untuk mengetahui informasi tentang cara menggunakan konsol Google Admin untuk mengubah peran administrator, lihat pusat bantuan administrasi.
Permintaan JSON
Dalam contoh ini, pengguna yang userKey-nya adalah liz@example.com telah menjadi administrator super:
POST https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/makeAdmin
{
"status": true
}
Respons yang berhasil akan menampilkan kode status HTTP 200.
Mengelola hubungan pengguna
Directory API menggunakan kolom relations untuk menentukan berbagai jenis hubungan antar-pengguna. Dalam setelan bisnis, orang biasanya menggunakan kolom ini untuk hubungan pengelola-karyawan dan asisten, tetapi kolom ini juga mendukung banyak jenis lainnya. Hubungan tersebut ditampilkan di kartu "Orang terkait" pengguna di aplikasi Google Workspace yang mendukung kartu tersebut. Untuk mengetahui contoh tempat kartu tersebut terlihat, lihat
Menambahkan informasi ke profil Direktori pengguna.
Membuat hubungan antar-pengguna
Anda hanya dapat menentukan hubungan dalam satu arah, dimulai dari pengguna "pemilik", yang catatannya menyertakan kolom relations. type menjelaskan hubungan orang lain dengan pengguna pemilik. Misalnya, dalam hubungan pengelola-karyawan, karyawan adalah pengguna pemilik dan Anda menambahkan kolom relations ke akunnya dengan jenis manager. Untuk mengetahui jenis yang diizinkan,
lihat referensi Userobjek.
Siapkan hubungan dengan membuat atau memperbarui
pengguna pemilik dengan isi permintaan JSON yang menyertakan kolom relations.
Anda dapat membuat beberapa hubungan dalam satu permintaan.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_1",
"type": "manager"
},
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "dotted_line_manager"
}
]
}
Memperbarui atau menghapus hubungan
Anda hanya dapat memperbarui kolom relations secara keseluruhan—Anda tidak dapat menangani orang-orang yang tercantum satu per satu untuk mengubah jenis hubungan atau menghapusnya. Dalam contoh sebelumnya, untuk menghapus hubungan pengelola yang ada dan menjadikan pengelola garis putus-putus sebagai pengelola pengguna pemilik, perbarui akun pengguna pemilik dengan semua nilai kolom seperti yang Anda inginkan sekarang.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Untuk menghapus semua hubungan pengguna pemilik, tetapkan relations agar kosong:
{
"relations": []
}
Mengambil data pengguna
Untuk mengambil data pengguna, gunakan permintaan GET berikut dan sertakan
otorisasi yang dijelaskan dalam
Permintaan otorisasi. userKey dapat berupa alamat email utama pengguna, id pengguna unik, atau salah satu alamat email alias pengguna. Untuk properti permintaan dan respons,
lihat Referensi API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey
Contoh ini menampilkan properti akun pengguna untuk pengguna yang alamat email utama atau aliasnya adalah liz@example.com:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Respons JSON
Respons yang berhasil akan menampilkan kode status HTTP 200. Bersama dengan kode status, respons akan menampilkan properti untuk akun pengguna.
{
"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
}
Mengambil semua pengguna dalam domain
Untuk mengambil semua pengguna dalam domain yang sama, gunakan permintaan GET berikut dan
sertakan otorisasi yang dijelaskan dalam
Permintaan otorisasi. Agar mudah dibaca, contoh ini menggunakan pemisahan baris:
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*
Untuk properti permintaan dan respons, lihat Referensi API.
Respons JSON
Dalam contoh ini, semua pengguna di domain example.com ditampilkan dengan maksimum 2 domain pengguna per halaman respons. Ada nextPageToken untuk daftar pengguna lanjutan dalam respons ini. Secara default, sistem akan menampilkan daftar 100 pengguna dalam urutan abjad alamat email pengguna:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
Respons yang berhasil akan menampilkan kode status HTTP 200. Bersama dengan kode status, respons akan menampilkan 2 akun pengguna di domain 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"
}
Mengambil semua pengguna akun
Untuk mengambil semua pengguna dalam akun, yang dapat terdiri dari beberapa domain, gunakan
permintaan GET berikut dan sertakan otorisasi yang dijelaskan dalam
Permintaan otorisasi. Agar mudah dibaca, contoh ini menggunakan pemisahan baris:
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
- String kueri
customeradalah nilaimy_customerataucustomerId. - Gunakan string
my_customeruntuk mewakilicustomerIdakun Anda. - Sebagai administrator reseller, gunakan
customerIdpelanggan yang dijual kembali. UntukcustomerId, gunakan nama domain utama akun dalam Mengambil semua pengguna dalam domain permintaan operasi. Respons yang dihasilkan memiliki nilaicustomerId. - String kueri
orderByopsional menentukan apakah daftar diurutkan berdasarkan alamat email utama pengguna, nama keluarga, atau nama depan. Saat menggunakanorderBy, Anda juga dapat menggunakan string kuerisortOrderuntuk mencantumkan hasil dalam urutan menaik atau menurun. - String kueri
queryopsional memungkinkan penelusuran di banyak kolom dalam profil pengguna, termasuk kolom inti dan kustom. Lihat Menelusuri Pengguna untuk mengetahui contohnya.
Untuk properti permintaan dan respons, lihat Referensi API.
Dalam contoh ini, administrator akun meminta semua pengguna dalam akun ditampilkan dengan satu entri pengguna di setiap halaman respons. nextPageToken akan membuka halaman hasil lanjutan:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
Dalam contoh ini, administrator reseller meminta semua pengguna dalam akun yang dijual kembali yang memiliki nilai customerId C03az79cb.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
Respons JSON
Respons yang berhasil akan menampilkan kode status HTTP 200. Bersama dengan kode status, respons akan menampilkan semua pengguna di akun ini:
{
"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"
}
Mengambil data pengguna yang baru dihapus
Untuk mengambil semua pengguna yang dihapus dalam rentang 20 hari terakhir dari akun
atau dari salah satu domain akun, gunakan permintaan GET berikut
dan sertakan otorisasi yang dijelaskan dalam
Permintaan otorisasi. Untuk
membatalkan penghapusan pengguna, lihat Membatalkan penghapusan pengguna.
Untuk mengambil data pengguna yang dihapus dalam rentang 20 hari terakhir dari domain utama atau subdomain akun, gunakan permintaan GET berikut. String kueri domain adalah nama domain utama domain. Untuk properti permintaan dan
respons pengguna, lihat
Referensi API. Agar mudah dibaca, contoh ini menggunakan pemisahan baris:
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
Jika akun memiliki beberapa domain, Anda dapat mengambil data pengguna yang dihapus dalam rentang 20 hari terakhir dari seluruh akun, menggunakan permintaan GET berikut. Agar mudah dibaca, contoh ini menggunakan pemisahan baris:
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
- String kueri
customeradalah nilaimy_customerataucustomerId. - Sebagai administrator akun, gunakan string
my_customeruntuk mewakilicustomerIdakun Anda. - Sebagai administrator reseller, gunakan
customerIdpelanggan yang dijual kembali. UntukcustomerId, gunakan nama domain utama akun dalam Mengambil semua pengguna dalam domain permintaan operasi. Respons yang dihasilkan memiliki nilaicustomerId.
Untuk properti permintaan dan respons, lihat Referensi API.
Dalam contoh ini, administrator akun meminta semua pengguna yang dihapus dalam akun:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
Respons JSON
Respons yang berhasil akan menampilkan kode status HTTP 200. Bersama dengan kode status, respons akan menampilkan semua pengguna akun yang dihapus dalam 20 hari terakhir:
{
"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"
}
Mengambil foto pengguna
API mengambil satu thumbnail foto, yaitu foto profil Google terbaru. Untuk
mengambil foto terbaru pengguna, gunakan permintaan GET berikut dan sertakan
otorisasi yang dijelaskan dalam
Permintaan otorisasi. userKey dapat berupa alamat email utama pengguna, id pengguna, atau salah satu email alias pengguna. Untuk properti permintaan dan respons, lihat
Referensi API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Dalam contoh ini, foto terbaru liz@example.com ditampilkan:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
Respons JSON
Respons yang berhasil akan menampilkan kode status 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"
}
Encoding base64 aman bagi web API untuk foto Anda mirip dengan 'base64url' RFC 4648. Artinya:
- Karakter garis miring (/) diganti dengan karakter garis bawah (_).
- Karakter tanda plus (+) diganti dengan karakter tanda hubung (-).
- Karakter tanda sama dengan (=) diganti dengan tanda bintang (*).
- Untuk padding, karakter titik (.) digunakan, bukan definisi baseURL RFC-4648 yang menggunakan tanda sama dengan (=) untuk padding. Hal ini dilakukan untuk menyederhanakan penguraian URL.
- Apa pun ukuran foto yang diupload, API akan memperkecil ukurannya secara proporsional menjadi 96x96 piksel.
Jika Anda perlu membuat link yang kompatibel dari JavaScript, Google Closure Library menyertakan fungsi encoding dan decoding Base64 yang dirilis di bawah lisensi Apache.
Mengambil data pengguna sebagai non-administrator
Meskipun akun pengguna hanya dapat diubah oleh administrator, setiap pengguna di domain dapat membaca profil pengguna. Pengguna non-admin dapat membuat permintaan
users.get atau
users.list dengan
parameter viewType yang sama dengan domain_public untuk mengambil profil publik
pengguna. Cakupan https://www.googleapis.com/auth/admin.directory.user.readonly sangat ideal untuk kasus penggunaan ini.
Tampilan domain_public memungkinkan pengguna non-admin mengakses kumpulan kolom inti standar. Untuk kolom kustom, Anda dapat memilih apakah kolom tersebut harus bersifat publik atau pribadi saat menentukan skema.
Memperbarui foto pengguna
Untuk memperbarui foto pengguna, gunakan permintaan PUT berikut dan sertakan
otorisasi yang dijelaskan dalam
Permintaan otorisasi. userKey dapat berupa alamat email utama pengguna, id pengguna, atau salah satu email alias pengguna. Untuk properti permintaan dan respons, lihat
Referensi API.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Dalam contoh ini, foto untuk liz@example.com diperbarui:
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
{
"photoData": "web safe base64 encoded photo data"
}
Saat memperbarui foto, height dan width akan diabaikan oleh API.
Respons JSON
Respons yang berhasil akan menampilkan kode status 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"
}
Menghapus foto pengguna
Untuk menghapus foto pengguna, gunakan permintaan DELETE berikut dan sertakan
otorisasi yang dijelaskan dalam
Permintaan otorisasi. userKey dapat berupa alamat email utama pengguna, id pengguna, atau salah satu email alias pengguna. Untuk properti permintaan dan respons, lihat
Referensi API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Setelah dihapus, foto pengguna tidak akan ditampilkan. Jika foto pengguna diperlukan, siluet akan ditampilkan.
Menghapus akun pengguna
Untuk menghapus akun pengguna, gunakan permintaan DELETE berikut dan sertakan
otorisasi yang dijelaskan dalam
Permintaan otorisasi. userKey dapat berupa alamat email utama pengguna, id pengguna unik, atau salah satu alamat email alias pengguna. Untuk properti permintaan dan respons,
lihat Referensi API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey
Dalam contoh ini, akun pengguna liz@example.com dihapus:
DELETE https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Respons yang berhasil akan menampilkan kode status HTTP 200.
Sebelum menghapus pengguna, pertimbangkan hal-hal berikut:
- Pengguna yang dihapus tidak dapat login lagi.
- Untuk mengetahui informasi selengkapnya tentang penghapusan akun pengguna, lihat pusat bantuan administrasi.
Membatalkan penghapusan akun pengguna
Pengguna yang dihapus dalam 20 hari terakhir harus memenuhi kondisi tertentu sebelum akun pengguna dapat dipulihkan.
Untuk membatalkan penghapusan akun pengguna, gunakan permintaan POST berikut dan sertakan
otorisasi yang dijelaskan dalam
Permintaan otorisasi. The
userKey adalah id pengguna unik yang ditemukan dalam respons operasi
Mengambil data pengguna yang dihapus dalam 20 hari terakhir.
Alamat email utama pengguna atau salah satu alamat email alias pengguna tidak dapat digunakan di userKey untuk operasi ini. Untuk properti permintaan dan
respons, lihat
Referensi API.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undelete
Dalam contoh ini, pengguna liz@example.com tidak dihapus. Semua properti akun pengguna sebelumnya dipulihkan:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Respons yang berhasil akan menampilkan kode status HTTP 204. Untuk melihat akun pengguna yang tidak dihapus, gunakan operasi Mengambil data pengguna.