Directory API, kullanıcıları oluşturmak, güncellemek ve silmek için programatik yöntemler sunar. Ayrıca, tek tek kullanıcılar veya belirli kriterleri karşılayan kullanıcı listeleri hakkında bilgi de edinebilirsiniz. Aşağıda, bazı temel kullanıcı işlemlerine örnekler verilmiştir.
Kullanıcı hesabı oluşturun
Google Workspace hesabınızın alanlarından herhangi birine kullanıcı hesabı ekleyebilirsiniz. Kullanıcı hesabı eklemeden önce alan sahipliğini onaylayın.
Kişisel Gmail hesabınızı kendi alan adınıza sahip bir iş e-postası hesabına yükselttiyseniz ek Google Workspace ayarlarının kilidini açana kadar yeni kullanıcı hesapları oluşturamazsınız. Ayrıntılar için G Suite Basic olarak güncellenen G Suite iş e-postası hesapları başlıklı makaleyi inceleyin.
Alanlarınızdan birini kullanarak bir kullanıcı hesabı oluşturmak için aşağıdaki POST
isteğini kullanın ve Kimlik doğrulama ve yetkilendirme hakkında bilgi başlıklı makalede açıklanan yetkilendirmeyi dahil edin. Directory API için kullanılabilen kapsamları OAuth 2.0 kapsamları listesinde görebilirsiniz. İstek sorgu dizesi özellikleri için users.insert()
yöntemine bakın.
POST https://admin.googleapis.com/admin/directory/v1/users
Tüm oluşturma isteklerinde, isteği yerine getirmek için gereken bilgileri göndermeniz gerekir. İstemci kitaplıkları kullanıyorsanız bu kitaplıklar, seçtiğiniz dildeki veri nesnelerini, JSON veri biçiminde biçimlendirilmiş nesnelere dönüştürür.
JSON isteği
Aşağıdaki JSON'de, kullanıcı oluşturmak için örnek bir istek gösterilmektedir. İstek ve yanıt özelliklerinin tam listesi için API Referansı'na bakın.
{
"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
}
Oluşturma istekleri için sorgu oranınız çok yüksekse API sunucusundan kotanızın aşıldığını belirten HTTP 503
yanıtları alabilirsiniz. Bu yanıtları alırsanız isteklerinizi yeniden denemek için bir üstel geri çekilme algoritması kullanın.
Yeni bir hesapla ilgili dikkat edilmesi gereken noktalar şunlardır:
- Google Hesabı posta lisansları satın aldıysa yeni kullanıcı hesabına otomatik olarak bir posta kutusu atanır. Bu ödevin tamamlanması ve etkinleştirilmesi birkaç dakika sürebilir.
- İstekteki
isAdmin
gibi salt okunur bir alanın düzenlenmesi, API hizmeti tarafından sessizce yoksayılır. - Bir hesapta izin verilen maksimum alan sayısı 600'dür (1 birincil alan + 599 ek alan)
- Kullanıcı hesabı oluşturulduğunda belirli bir kuruluş birimine atanmadıysa hesap en üst düzey kuruluş birimindedir. Bir kullanıcının kuruluş birimi, kullanıcının hangi Google Workspace hizmetlerine erişebileceğini belirler. Kullanıcı yeni bir kuruluşa taşınırsa kullanıcının erişimi değişir. Kuruluş yapıları hakkında daha fazla bilgi edinmek için yönetim yardım merkezine göz atın. Bir kullanıcıyı farklı bir kuruluşa taşıma hakkında daha fazla bilgi edinmek için Kullanıcı güncelleme başlıklı makaleyi inceleyin.
password
, yeni kullanıcı hesapları için gereklidir.hashFunction
belirtilirse şifre geçerli bir karma anahtarı olmalıdır. Belirtilmezse şifre açık metinden oluşmalı ve 8-100 ASCII karakterden oluşmalıdır. Daha fazla bilgi için API Referansı'na bakın.- Google Workspace için esnek plan kullananların bu API'yi kullanarak kullanıcı oluşturmasının maddi etkisi olur ve müşteri faturalandırma hesabı için ücret alınır. Daha fazla bilgi için API faturalandırma bilgilerini inceleyin.
- Bir Google Workspace hesabı, alanlarınızdan herhangi birini içerebilir. Birden fazla alan adına sahip bir hesapta, bir alandaki kullanıcılar hizmetleri diğer hesap alan adlarındaki kullanıcılarla paylaşabilir. Birden çok alandaki kullanıcılar hakkında daha fazla bilgi edinmek için API çoklu alan bilgileri başlıklı makaleyi inceleyin.
- Çakışan hesaplar olabilir. Eklemeyi planladığınız kişilerin zaten bir Google Hesabı olup olmadığını kontrol edin. Ardından, bu hesaplarla çakışma olmaması için ilgili adımları uygulayın. Çakışan hesapları bulma ve çözme başlıklı makaleyi inceleyin.
- Ziyaretçi hesapları olabilir. Kullanıcılar, Drive'da ortak çalışmak için Google Hesabı olmayan, kuruluşunuz dışından kişileri davet ederse bu kullanıcılar ziyaretçi_adi@alan_adiniz.com biçiminde ziyaretçi hesapları alır. Ziyaretçi hesabıyla aynı kullanıcı adına sahip bir kullanıcı eklerseniz hesap tam bir Google Workspace hesabına dönüştürülür. Hesabın mevcut Drive dosya izinleri korunur. Ziyaretçilerle doküman paylaşma başlıklı makaleyi inceleyin.
Başarılı bir yanıt bir HTTP 200 durum kodu döndürür. Yanıt, durum koduyla birlikte yeni kullanıcı hesabına ilişkin özellikleri döndürür.
Kullanıcı hesabını güncelleme
Bir kullanıcı hesabını güncellemek için aşağıdaki PUT
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. userKey
; kullanıcının birincil e-posta adresi, benzersiz kullanıcı id
veya kullanıcının takma ad e-posta adreslerinden biri olabilir.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
Hem istek hem de yanıt gövdesi, User
öğesinin bir örneğini içerir. Ancak Directory API, yama semantiğini desteklediğinden isteğinizde yalnızca güncellenmiş alanları göndermeniz gerekir.
Örnek istek
Aşağıdaki örnekte, kullanıcı hesabı oluşturulduğunda kullanıcının givenName
adresi "Elizabeth" idi ve yalnızca bir iş e-posta adresi sağlanmıştı.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
}
Aşağıdaki istek "Elif" olan givenName
adresini "Liz" olarak günceller ve ayrıca ev e-posta adresi ekler. Alan bir dizi olduğundan her iki e-posta adresinin de tam olarak sağlandığını unutmayın.
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"
}
]
}
Başarılı bir yanıt, güncellenmiş alanlara sahip bir HTTP 200
durum kodu ve bir User
kaynağı döndürür.
Bir kullanıcının hesap adını güncellerken aşağıdakilere dikkat edin:
- Bir kullanıcı hesabını yeniden adlandırmak, kullanıcının birincil e-posta adresini ve kullanıcının bilgilerini alırken kullanılan alan adını değiştirir. Bir kullanıcıyı yeniden adlandırmadan önce, kullanıcının tüm tarayıcı oturumlarını ve hizmetlerindeki oturumunu kapatmanızı öneririz.
- Kullanıcı hesabını yeniden adlandırma işleminin tüm hizmetlere yayılması 10 dakika kadar sürebilir.
- Bir kullanıcıyı yeniden adlandırdığınızda, e-posta yönlendirme ayarlarında posta dağıtımının sürekli olmasını sağlamak için eski kullanıcı adı takma ad olarak korunur ve yeni bir kullanıcı adı olarak kullanılamaz.
- Genel olarak, e-posta adresi değişebileceğinden, kullanıcı e-posta adresinin kalıcı veriler için anahtar olarak kullanılmamasını öneririz.
- Bir kullanıcıyı yeniden adlandırmanın Google Workspace uygulamalarındaki etkilerinin tam listesi için Yönetici yardım merkezine göz atın.
Bir kullanıcıyı yönetici yapma
Kullanıcıyı süper yönetici yapmak için aşağıdaki POST
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. userKey
; kullanıcının birincil e-posta adresi, benzersiz kullanıcı id
veya kullanıcının takma ad e-posta adreslerinden biri olabilir. İstek ve yanıt özellikleri için API Referansı bölümüne bakın. Süper yönetici hakkında daha fazla bilgi edinmek için yönetim yardım merkezine göz atın.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
JSON isteği
Bu örnekte, userKey
numarası liz@example.com olan kullanıcı süper yönetici olmuştur:
POST https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/makeAdmin
{ "status": true }
Başarılı bir yanıt bir HTTP 200 durum kodu döndürür.
Kullanıcı ilişkilerini yönetme
Directory API, kullanıcılar arasında farklı ilişki türlerini tanımlamak için relations
alanını kullanır. Bir işletme ortamında, insanlar bu alanı genellikle yönetici-çalışan ve asistan ilişkileri için kullanır ama alan, diğer birçok türü de destekler. İlişki, kartı destekleyen herhangi bir Google Workspace uygulamasında kullanıcının "İlgili kişiler" kartında gösterilir. Kartın göründüğü yerlere dair örnekler için Kullanıcının Dizin profiline bilgi ekleme başlıklı makaleye bakın.
Kullanıcılar arasında ilişki kurma
Bir ilişkiyi, kaydı relations
alanını içeren "sahip" kullanıcıdan başlayarak yalnızca tek bir yönde tanımlayabilirsiniz. type
, diğer kişinin sahip kullanıcıyla olan ilişkisini tanımlar. Örneğin, yönetici-çalışan ilişkisinde çalışan sahip kullanıcıdır ve hesabına manager
türünde bir relations
alanı eklersiniz. İzin verilen türler için User
nesne referansına bakın.
Sahip kullanıcıyı, relations
alanını içeren bir JSON istek gövdesiyle oluşturarak veya güncelleyerek ilişkiyi kurun.
Tek bir istekte birden fazla ilişki oluşturabilirsiniz.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_1",
"type": "manager"
},
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "dotted_line_manager"
}
]
}
İlişkiyi güncelleme veya silme
relations
alanı yalnızca bütün olarak güncellenebilir. İlişki türünü değiştirmek veya kaldırmak için listelenen kişilere tek tek hitap edemezsiniz. Yukarıdaki örnekte, mevcut yönetici ilişkisini kaldırmak ve noktalı çizgili yöneticiyi sahip kullanıcının yöneticisi yapmak için sahip kullanıcının hesabını, alanın tüm değerleriyle istediğiniz şekilde güncelleyin.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Sahip kullanıcının tüm ilişkilerini kaldırmak için relations
öğesini boş olarak ayarlayın:
{
"relations": []
}
Bir kullanıcıyı alma
Bir kullanıcıyı almak için aşağıdaki GET
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. userKey
; kullanıcının birincil e-posta adresi, benzersiz kullanıcı id
veya kullanıcının takma ad e-posta adreslerinden biri olabilir. İstek ve yanıt özellikleri için API Referansı'na bakın.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey
Bu örnek, birincil veya takma ad e-posta adresi liz@example.com olan kullanıcının kullanıcı hesabı özelliklerini döndürür:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
JSON yanıtı
Başarılı bir yanıt bir HTTP 200 durum kodu döndürür. Yanıt, durum koduyla birlikte kullanıcı hesabına ilişkin özellikleri döndürür.
{ "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 }
Bir alandaki tüm kullanıcıları alma
Aynı alandaki tüm kullanıcıları geri almak için aşağıdaki GET
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. Okunabilirlik için bu örnekte satır sonları kullanılmıştır:
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*
İstek ve yanıt özellikleri için API Referansı'na bakın.
JSON yanıtı
Bu örnekte, example.com alanındaki tüm kullanıcılar, yanıt sayfası başına en fazla 2 kullanıcı alan adıyla döndürülür. Bu yanıttaki takip eden kullanıcı listesi için bir nextPageToken
mevcut. Varsayılan olarak sistem, 100 kullanıcının yer aldığı bir listeyi kullanıcının e-posta adresine göre alfabetik sırada döndürür:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
Başarılı bir yanıt bir HTTP 200 durum kodu döndürür. Yanıt, durum koduyla birlikte example.com alanında (maxResults=2
) 2 kullanıcı hesabı döndürür:
{ "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" }
Tüm hesap kullanıcılarını alma
Birden fazla alandan oluşabilecek bir hesaptaki tüm kullanıcıları almak için aşağıdaki GET
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. Okunabilirlik için bu örnekte satır sonları kullanılmıştır:
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
customer
sorgu dizesi,my_customer
veyacustomerId
değeridir.- Hesabınızın
customerId
dizesini temsil etmek içinmy_customer
dizesini kullanın. - Bayi yöneticisi olarak, yeniden satış yapılan müşterinin
customerId
özelliğini kullanın.customerId
için Bir alan adındaki tüm kullanıcıları alma işleminin isteğinde hesabın birincil alan adını kullanın. Sonuçta elde edilen yanıtcustomerId
değerine sahip olur. - İsteğe bağlı
orderBy
sorgu dizesi, listenin kullanıcının birincil e-posta adresine, soyadına veya verilen adına göre sıralanıp sıralanmayacağını belirler.orderBy
kullanırken sonuçları artan veya azalan düzende listelemek içinsortOrder
sorgu dizesini de kullanabilirsiniz. - İsteğe bağlı
query
sorgu dizesi, kullanıcı profilindeki hem temel hem de özel alanlar dahil olmak üzere, birçok alanda arama yapılmasına olanak tanır. Örnekler için Kullanıcı Arama başlıklı makaleyi inceleyin.
İstek ve yanıt özellikleri için API Referansı'na bakın.
Bu örnekte bir hesap yöneticisi, hesaptaki tüm kullanıcıların her yanıt sayfasında tek bir kullanıcı girişiyle döndürülmesini istiyor. nextPageToken
, sonuçların takip sayfasına gider:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
Bu örnekte, bir bayi yöneticisi customerId
değeri C03az79cb
olan, yeniden satışı yapılan bir hesaptaki tüm kullanıcıları istemektedir.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
JSON yanıtı
Başarılı bir yanıt bir HTTP 200 durum kodu döndürür. Yanıt, durum koduyla birlikte bu hesaptaki tüm kullanıcıları döndürür:
{ "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" }
Yakın zamanda silinen kullanıcıları alma
Bir hesaptan veya hesabın alanlarından birinden son 20 gün içinde silinen tüm kullanıcıları almak için aşağıdaki GET
isteklerini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. Silinen bir kullanıcıyı geri almak için Kullanıcı silme işlemini geri alma başlıklı makaleyi inceleyin.
Hesabın birincil alanından veya alt alan adından son 20 gün içinde silinen kullanıcıları geri almak için aşağıdaki GET
isteğini kullanın. domain
sorgu dizesi, alanın birincil alan adıdır. Kullanıcı istek ve yanıt özellikleri için API Referansı'na bakın. Okunabilirlik için bu örnekte satır sonları kullanılmaktadır:
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=trueBir hesapta birden fazla alan adı varsa aşağıdaki
GET
isteğini kullanarak hesabın tamamından son 20 gün içinde silinen kullanıcıları alabilirsiniz. Okunabilirlik için şu örnekte satır sonları kullanılmıştır:
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
customer
sorgu dizesi,my_customer
veyacustomerId
değeridir.- Hesap yöneticisi olarak, hesabınızın
customerId
özelliğini temsil etmesi içinmy_customer
dizesini kullanın. - Bayi yöneticisi olarak, yeniden satış yapılan müşterinin
customerId
özelliğini kullanın.customerId
için Bir alan adındaki tüm kullanıcıları alma işleminin isteğinde hesabın birincil alan adını kullanın. Sonuçta elde edilen yanıtcustomerId
değerine sahip olur.
İstek ve yanıt özellikleri için API Referansı'na bakın.
Bu örnekte, bir hesap yöneticisi hesaptaki silinmiş tüm kullanıcıları istemektedir:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
JSON yanıtı
Başarılı bir yanıt bir HTTP 200 durum kodu döndürür. Yanıt, durum koduyla birlikte son 20 gün içinde silinen tüm hesap kullanıcılarının bilgilerini döndürür:
{ "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" }
Bir kullanıcının fotoğrafını alma
API bir fotoğraf küçük resmi, en son Google profil fotoğrafını alır. Kullanıcının son fotoğrafını almak için aşağıdaki GET
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. userKey
; kullanıcının birincil e-posta adresi, id
kullanıcısı veya kullanıcının takma ad e-postalarından herhangi biri olabilir. İstek ve yanıt özellikleri için API Referansı'na bakın.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Bu örnekte, liz@example.com'un en son fotoğrafı döndürülür:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
JSON Yanıtı
Başarılı bir yanıt bir HTTP 200 durum kodu döndürür.
{ "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" }
API'nin fotoğraflarınız için web güvenli base64 kodlaması, RFC 4648 'base64url' ile benzerdir. Bunun anlamı şudur:
- Eğik çizgi (/) karakteri, alt çizgi (_) karakteriyle değiştirilir.
- Artı işareti (+) karakteri, tire (-) karakteriyle değiştirilir.
- Eşittir işareti (=) karakteri, yıldız işareti (*) ile değiştirilir.
- Dolgu için, dolgu için eşittir işareti (=) kullanan RFC-4648 temel URL tanımı yerine nokta (.) karakteri kullanılır. Bu işlem, URL ayrıştırmayı basitleştirmek için yapılır.
- Yüklenen fotoğrafın boyutu ne olursa olsun API, fotoğrafı 96x96 piksele orantılı olarak küçültür.
JavaScript'ten uyumlu bağlantılar oluşturmanız gerekiyorsa Apache lisansı altında sunulan Base64 kodlama ve kod çözme işlevlerini Google Closure Library'de bulabilirsiniz.
Bir kullanıcıyı yönetici olmayan kullanıcı olarak alma
Kullanıcı hesapları yalnızca yöneticiler tarafından değiştirilebilir. Ancak alandaki tüm kullanıcılar, kullanıcı profillerini okuyabilir. Yönetici olmayan bir kullanıcı, kullanıcının herkese açık profilini almak için viewType
parametresi domain_public
değerine sahip olan bir users.get
veya users.list
isteğinde bulunabilir. https://www.googleapis.com/auth/admin.directory.user.readonly
kapsamı bu kullanım alanı için idealdir.
domain_public
görünümü, yönetici olmayan bir kullanıcının standart bir temel alan grubuna erişmesine
izin verir. Özel bir alan için şemayı tanımlarken alanın herkese açık mı yoksa gizli mi olacağını seçebilirsiniz.
Bir kullanıcının fotoğrafını güncelleme
Bir kullanıcının fotoğrafını güncellemek için aşağıdaki PUT
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi ekleyin. userKey
; kullanıcının birincil e-posta adresi, id
kullanıcısı veya kullanıcı takma adlarından herhangi biri e-posta adresi olabilir. İstek ve yanıt özellikleri için API Referansı'na bakın.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Bu örnekte, liz@example.com'un fotoğrafı güncellenir:
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
{
"photoData": "web safe base64 encoded photo data"
}
Bir fotoğraf güncellenirken height
ve width
öğeleri API tarafından yoksayılır.
JSON Yanıtı
Başarılı bir yanıt bir HTTP 200 durum kodu döndürür.
{ "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" }
Kullanıcının fotoğrafını silme
Bir kullanıcının fotoğrafını silmek için aşağıdaki DELETE
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi ekleyin. userKey
; kullanıcının birincil e-posta adresi, id
kullanıcısı veya kullanıcı takma adlarından herhangi biri e-posta adresi olabilir. İstek ve yanıt özellikleri için API Referansı'na bakın.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Silindiğinde kullanıcının fotoğrafı gösterilmez. Bir kullanıcının fotoğrafının gerekli olduğu her yerde, bunun yerine bir silüet gösterilir.
Kullanıcı hesabını silme
Bir kullanıcı hesabını silmek için aşağıdaki DELETE
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. userKey
; kullanıcının birincil e-posta adresi, benzersiz kullanıcı id
veya kullanıcının takma ad e-posta adreslerinden biri olabilir. İstek ve yanıt özellikleri için API Referansı'na bakın.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey
Bu örnekte, liz@example.com kullanıcı hesabı silinmiştir:
DELETE https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Başarılı bir yanıt yalnızca bir HTTP 200 durum kodu döndürür.
Bir kullanıcıyı silmeden önce dikkat etmeniz gereken önemli noktalar:
- Silinen kullanıcı artık giriş yapamaz.
- Kullanıcı hesabı silme hakkında daha fazla bilgi edinmek için lütfen yönetim yardım merkezine bakın.
Kullanıcı hesabını silme işlemini geri alma
Son 20 gün içinde silinen bir kullanıcının, hesabının geri yüklenebilmesi için belirli koşulları karşılaması gerekir.
Bir kullanıcı hesabının silinmesini geri almak için aşağıdaki POST
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. userKey
, Son 20 gün içinde silinen kullanıcıları al işleminin yanıtında bulunan benzersiz kullanıcıdır (id
). Kullanıcının birincil e-posta adresi veya kullanıcının takma ad e-posta adreslerinden biri bu işlem için userKey
içinde kullanılamaz. İstek ve yanıt özellikleri için API Referansı'na bakın.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undelete
Bu örnekte, liz@example.com adlı kullanıcıyı silme işlemi geri alınmıştır. Bu kullanıcının önceki tüm hesap mülkleri geri yüklenir:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Başarılı bir yanıt yalnızca bir HTTP 204 durum kodu döndürür. Silme işlemi geri alınan kullanıcı hesabını görmek için Bir kullanıcıyı geri alma işlemini kullanın.