Directory API menyediakan metode terprogram untuk membuat, memperbarui, dan menghapus pengguna. Anda juga bisa mendapatkan informasi tentang pengguna individu atau daftar pengguna yang memenuhi kriteria yang ditentukan. Berikut adalah contoh beberapa operasi pengguna dasar.
Buat akun pengguna
Anda dapat menambahkan akun pengguna ke domain akun Google Workspace Anda. Sebelum menambahkan akun pengguna, konfirmasi kepemilikan domain.
Jika mengupgrade akun Gmail pribadi ke akun email bisnis dengan nama domain Anda sendiri, Anda tidak dapat membuat akun pengguna baru hingga membuka setelan tambahan Google Workspace. Untuk mengetahui detailnya, lihat Akun email bisnis G Suite yang diperbarui ke G Suite Basic.
Untuk membuat akun pengguna menggunakan salah satu domain Anda, gunakan permintaan POST
berikut dan sertakan otorisasi yang dijelaskan dalam Pelajari autentikasi dan otorisasi. Anda dapat melihat cakupan yang tersedia untuk Directory API di 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. Jika Anda menggunakan library klien, library tersebut akan mengonversi objek data dari bahasa pilihan Anda menjadi objek berformat data JSON.
Permintaan JSON
JSON berikut menunjukkan contoh permintaan untuk membuat pengguna. Untuk mengetahui 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 rasio kueri untuk permintaan pembuatan terlalu tinggi, Anda mungkin akan menerima respons 503
HTTP dari server API yang menunjukkan bahwa kuota Anda telah terlampaui. Jika Anda mendapatkan respons ini, gunakan algoritme back-off eksponensial untuk mencoba lagi permintaan.
Hal yang perlu diperhatikan tentang akun baru adalah:
- Jika akun Google telah membeli lisensi email, akun pengguna yang baru akan otomatis diberi kotak surat. Tugas ini mungkin memerlukan waktu beberapa menit untuk diselesaikan dan diaktifkan.
- Mengedit kolom hanya baca dalam permintaan, seperti
isAdmin
, secara diam-diam diabaikan oleh layanan API. - Jumlah maksimum domain yang diizinkan dalam sebuah akun adalah 600 (1 domain primer + 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 mana 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 informasi selengkapnya tentang memindahkan pengguna ke organisasi lain, lihat Mengupdate pengguna.
password
diperlukan untuk akun pengguna baru. JikahashFunction
ditentukan, sandi harus berupa kunci hash yang valid. Jika tidak ditentukan, sandi harus dalam teks yang jelas dan terdiri dari 8–100 karakter ASCII. Untuk mengetahui informasi lebih lanjut, baca Referensi API.- Bagi pengguna yang menggunakan paket fleksibel untuk Google Workspace, membuat pengguna menggunakan API ini akan memiliki dampak moneter, dan akan menimbulkan tagihan pada akun penagihan pelanggan Anda. Untuk informasi selengkapnya, lihat Informasi penagihan API.
- Akun Google Workspace dapat menyertakan semua domain Anda. Di beberapa akun domain, pengguna di satu domain dapat berbagi layanan dengan pengguna di domain akun lainnya. Untuk informasi selengkapnya tentang pengguna di beberapa domain, lihat informasi beberapa domain API.
- Mungkin ada akun yang bentrok. Periksa apakah orang yang ingin Anda tambahkan sudah memiliki Akun Google atau belum. Kemudian, ikuti langkah-langkah 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 pengunjung’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 lengkap. Akun akan mempertahankan izin file Drive saat ini. Lihat Berbagi dokumen dengan pengunjung.
Respons yang berhasil akan menampilkan kode status HTTP 200. Bersama dengan kode status, respons menampilkan properti untuk akun pengguna baru.
Memperbarui akun pengguna
Untuk memperbarui akun pengguna, gunakan permintaan PUT
berikut dan sertakan
otorisasi yang dijelaskan dalam
Mengizinkan permintaan. userKey
dapat berupa alamat email utama pengguna, pengguna id
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
Pada contoh di bawah, givenName
pengguna adalah "Elizabeth" saat akun
pengguna dibuat, dan hanya alamat email kantor yang disediakan.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
}
Permintaan di bawah ini memperbarui givenName
dari "Elizabeth" menjadi "Liz", dan juga menambahkan alamat email rumah. Perhatikan bahwa kedua alamat email disediakan
sepenuhnya karena kolomnya 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
kode status HTTP 200
dan resource User
dengan kolom yang diperbarui.
Perhatikan hal-hal berikut saat memperbarui nama akun pengguna:
- Mengganti nama akun pengguna akan mengubah alamat email primer pengguna dan domain yang digunakan saat mengambil informasi pengguna ini. Sebelum mengganti nama pengguna, sebaiknya Anda membuat pengguna logout dari semua sesi dan layanan browser.
- Proses penggantian nama akun pengguna dapat memerlukan waktu hingga 10 menit untuk diterapkan di seluruh layanan.
- Saat Anda mengganti nama pengguna, nama pengguna lama akan dipertahankan sebagai alias untuk memastikan pengiriman email berkelanjutan jika setelan penerusan email dilakukan, dan tidak tersedia sebagai nama pengguna baru.
- Secara umum, sebaiknya jangan gunakan alamat email pengguna sebagai kunci untuk data yang persisten karena alamat email dapat berubah.
- Untuk mengetahui daftar lengkap efek penggantian nama pengguna di seluruh aplikasi Google Workspace, lihat pusat bantuan Admin.
Menjadikan pengguna sebagai administrator
Untuk menjadikan pengguna sebagai administrator super, gunakan permintaan POST
berikut dan sertakan otorisasi yang dijelaskan dalam Mengizinkan permintaan. userKey
dapat berupa alamat email utama pengguna, pengguna unik id
, atau salah satu alamat email alias pengguna. Untuk properti permintaan dan respons, lihat Referensi API. Untuk informasi selengkapnya tentang administrator super, lihat pusat bantuan administrasi.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
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 antara pengguna. Dalam lingkungan bisnis, orang-orang biasanya menggunakan
kolom ini untuk hubungan manajer-karyawan dan asisten, tetapi kolom ini
juga mendukung banyak jenis lainnya. Hubungan akan ditampilkan di
kartu "Orang terkait" milik pengguna di aplikasi Google Workspace yang
mendukung kartu tersebut. Untuk mengetahui contoh tempat kartu dapat dilihat, lihat Menambahkan informasi ke profil Direktori pengguna.
Menciptakan hubungan antara pengguna
Anda dapat menentukan hubungan hanya dalam satu arah, mulai dari
pengguna "yang memiliki", yang datanya mencakup kolom relations
. type
menjelaskan hubungan orang lain dengan pengguna yang memiliki. Misalnya, dalam hubungan manajer-karyawan, karyawan adalah pengguna pemilik dan Anda menambahkan kolom relations
ke akun mereka dengan jenis manager
. Untuk
jenis yang diizinkan, lihat
referensi objek User
.
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
hanya dapat diperbarui secara keseluruhan—Anda tidak dapat ditujukan ke orang individual yang tercantum untuk mengubah jenis hubungan atau menghapusnya. Pada contoh di atas, untuk menghapus hubungan pengelola yang ada dan menjadikan pengelola garis putus-putus tersebut sebagai pengelola pengguna pemilik, perbarui akun pengguna pemilik dengan semua nilai kolom seperti yang Anda inginkan.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Untuk menghapus semua hubungan pengguna yang dimiliki, setel relations
ke kosong:
{
"relations": []
}
Mengambil pengguna
Untuk mengambil pengguna, gunakan permintaan GET
berikut dan sertakan otorisasi yang dijelaskan di Izinkan permintaan. userKey
dapat berupa alamat email utama pengguna, pengguna unik id
, 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 primer 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 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 di domain
Untuk mengambil semua pengguna di domain yang sama, gunakan permintaan GET
berikut dan sertakan otorisasi yang dijelaskan di Izinkan permintaan. Agar mudah dibaca, contoh ini menggunakan pengembalian 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. Terdapat nextPageToken
untuk daftar pengguna berikutnya dalam respons ini. Secara default, sistem menampilkan daftar 100 pengguna dalam urutan abjad dari 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 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", "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" }
Ambil semua pengguna akun
Untuk mengambil semua pengguna di akun yang dapat terdiri dari beberapa domain, gunakan permintaan GET
berikut dan sertakan otorisasi yang dijelaskan dalam Mengizinkan permintaan. Agar mudah dibaca, contoh ini menggunakan pengembalian 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
customer
adalah nilaimy_customer
ataucustomerId
. - Gunakan string
my_customer
untuk mewakilicustomerId
akun Anda. - Sebagai administrator reseller, gunakan
customerId
pelanggan reseller. UntukcustomerId
, gunakan nama domain primer akun dalam permintaan operasi Ambil semua pengguna di domain. Respons yang dihasilkan memiliki nilaicustomerId
. - String kueri
orderBy
opsional menentukan apakah daftar diurutkan menurut alamat email utama, nama keluarga, atau nama tertentu pengguna. Saat menggunakanorderBy
, Anda juga dapat menggunakan string kuerisortOrder
untuk mencantumkan hasil dalam urutan menaik atau menurun. - String kueri
query
opsional memungkinkan penelusuran pada banyak kolom di profil pengguna, termasuk kolom inti dan kustom. Untuk contohnya, lihat Menelusuri Pengguna.
Untuk properti permintaan dan respons, lihat Referensi API.
Dalam contoh ini, administrator akun meminta semua pengguna di akun dikembalikan dengan satu entri pengguna pada setiap halaman respons. nextPageToken
akan membuka halaman hasil berikut:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
Dalam contoh ini, administrator reseller meminta semua pengguna di akun yang dijual kembali yang memiliki nilai customerId
dari 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 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 pengguna yang baru dihapus
Untuk mengambil semua pengguna yang dihapus dalam rentang waktu 20 hari terakhir dari akun atau dari salah satu domain akun, gunakan permintaan GET
berikut dan sertakan otorisasi yang dijelaskan dalam Mengizinkan permintaan. Untuk membatalkan penghapusan pengguna, lihat Membatalkan penghapusan pengguna.
Untuk mengambil pengguna yang dihapus dalam rentang 20 hari terakhir dari domain primer atau subdomain akun, gunakan permintaan GET
berikut. String kueri domain
adalah nama domain primer domain. Untuk properti permintaan dan respons pengguna, lihat Referensi API. Dan, agar mudah dibaca, contoh ini menggunakan pengembalian 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=trueJika akun memiliki beberapa domain, Anda dapat mengambil pengguna yang dihapus dalam rentang waktu 20 hari terakhir dari seluruh akun, gunakan permintaan
GET
berikut. Agar mudah dibaca, contoh ini menggunakan pengembalian 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
customer
adalah nilaimy_customer
ataucustomerId
. - Sebagai administrator akun, gunakan string
my_customer
untuk mewakilicustomerId
akun Anda. - Sebagai administrator reseller, gunakan
customerId
pelanggan reseller. UntukcustomerId
, gunakan nama domain primer akun dalam permintaan operasi Ambil semua pengguna di domain. Respons yang dihasilkan memiliki nilaicustomerId
.
Untuk properti permintaan dan respons, lihat Referensi API.
Dalam contoh ini, administrator akun meminta semua pengguna yang dihapus di 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 menampilkan semua akun yang dihapus pengguna 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, foto profil Gmail Chat terbaru. Untuk mengambil foto terbaru pengguna, gunakan permintaan GET
berikut dan sertakan otorisasi yang dijelaskan dalam Mengizinkan permintaan. userKey
dapat berupa alamat email utama pengguna, pengguna id
, atau email alias pengguna mana pun. 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 web untuk foto Anda mirip dengan RFC 4648 'base64url'. Ini artinya:
- Karakter garis miring (/) diganti dengan karakter garis bawah (_).
- Karakter tanda plus (+) diganti dengan tanda hubung (-).
- Karakter sama dengan (=) diganti dengan tanda bintang (*).
- Untuk padding, karakter titik (.) digunakan sebagai ganti 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, Library Closure Google menyertakan fungsi encoding dan decoding Base64 yang dirilis di bawah lisensi Apache.
Mengambil 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
ideal untuk kasus penggunaan
ini.
Tampilan domain_public
mengizinkan 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.
Perbarui foto pengguna
Untuk memperbarui foto pengguna, gunakan permintaan PUT
berikut dan sertakan otorisasi yang dijelaskan dalam Mengizinkan permintaan. userKey
dapat berupa alamat email utama pengguna, pengguna id
, atau email alias pengguna mana pun. Untuk properti permintaan dan respons, lihat Referensi API.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Dalam contoh ini, foto 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 di Izinkan permintaan. userKey
dapat berupa alamat email utama pengguna, pengguna id
, atau email alias pengguna mana pun. 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. Di mana pun foto pengguna diperlukan, siluet akan ditampilkan.
Menghapus akun pengguna
Untuk menghapus akun pengguna, gunakan permintaan DELETE
berikut dan sertakan otorisasi yang dijelaskan dalam Mengizinkan permintaan. userKey
dapat berupa alamat email utama pengguna, pengguna unik id
, 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 hanya akan menampilkan kode status HTTP 200.
Hal-hal penting yang perlu dipertimbangkan sebelum menghapus pengguna:
- Pengguna yang telah dihapus tidak dapat lagi login.
- Untuk 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 di Izinkan permintaan. userKey
adalah pengguna unik id
yang ditemukan dalam respons operasi Ambil 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, penghapusan pengguna adalah liz@example.com. Semua properti akun pengguna ini sebelumnya akan dipulihkan:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Respons yang berhasil hanya akan menampilkan kode status HTTP 204. Untuk melihat akun pengguna yang dibatalkan penghapusannya, gunakan operasi Ambil pengguna.