Directory API, kullanıcıları oluşturmak, güncellemek ve silmek için programatik yöntemler sunar. Ayrıca, bireysel kullanıcılar veya belirli ölçütlere uyan kullanıcı listeleri hakkında bilgi 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 iş e-postası hesapları G Suite Basic olarak güncellendi başlıklı makaleye göz atın.
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 daha fazla bilgi başlıklı makalede açıklanan yetkilendirmeyi dahil edin. Directory API için kullanılabilecek 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çimlendirilmiş nesnelere dönüştürür.
JSON isteği
Aşağıdaki JSON'da, 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 üstel geri çekilme algoritması kullanın.
Yeni bir hesapla ilgili göz önünde bulundurulması 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 salt okunur bir alanın (ör.
isAdmin
) 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 adı)
- Kullanıcı, 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. 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.
- Yeni kullanıcı hesapları için
password
gereklidir. BirhashFunction
belirtilirse şifrenin geçerli bir karma anahtarı olması gerekir. Belirtilmezse şifre, düz metinden oluşmalı ve 8-100 ASCII karakter uzunluğunda olmalıdır. Daha fazla bilgi için API Referansı'na bakın. - Google Workspace'te esnek plan kullanan kullanıcılar için bu API'yi kullanarak kullanıcı oluşturmanın maddi etkisi olur ve müşteri faturalandırma hesapları için ücret alınmasına neden olur. Daha fazla bilgi için API faturalandırma bilgilerini inceleyin.
- Bir Google Workspace hesabı, alanlarınızın herhangi birini içerebilir. Birden fazla alan adı hesabında, bir alan adındaki kullanıcılar hizmetleri başka hesap alan adlarındaki kullanıcılarla paylaşabilir. Birden fazla 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 Google Hesabı olup olmadığını kontrol edin. Ardından, bu hesaplarla çakışma olmaması için 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ışındaki kişileri davet ederse bu kişiler ziyaretçi_adı@alan_adiniz.com.tr biçiminde ziyaretçi hesapları alır. Ziyaretçi hesabıyla aynı kullanıcı adına sahip bir kullanıcı eklerseniz hesap tam Google Workspace hesabına dönüştürülür. Hesap, geçerli Drive dosya izinlerini korur. 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 "Elif" 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 istekte "Elizabeth" olan givenName
değeri "Liz" olarak güncellenir ve
ev e-posta adresi de eklenir. 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 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 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 hizmetlerini kapatmanızı öneririz.
- Bir 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 sürekli posta dağıtımının yapılmasını sağlamak için eski kullanıcı adı takma ad olarak korunur ve yeni bir kullanıcı adı olarak kullanılamaz.
- E-posta adresi değişebileceğinden, genel olarak kullanıcı e-posta adresinin kalıcı veriler için anahtar olarak kullanılmamasını öneririz.
- Bir kullanıcıyı Google Workspace uygulamalarında yeniden adlandırmanın 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ı'na 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. İşletme ortamında, kullanıcılar bu alanı yönetici-çalışan ve asistan ilişkileri için genellikle kullanır. Ancak alan, diğer birçok türü de desteklemektedir. İ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 ilişkin örnekler için Kullanıcının Dizin profiline bilgi ekleme başlıklı makaleye bakın.
Kullanıcılar arasında ilişki oluşturma
Kaydı relations
alanını içeren "sahip" kullanıcıdan başlayarak yalnızca tek yönlü bir ilişki tanımlayabilirsiniz. type
, diğer kişinin sahip kullanıcıyla olan ilişkisini açıklar. Ö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 çok 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ını yalnızca bir bütün olarak güncelleyebilirsiniz. İ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 artık istediğiniz gibi güncelleyin.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Sahibi 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 sonuçları 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 &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 edilecek kullanıcı listesi için bir nextPageToken
mevcut. Varsayılan olarak, sistem 100 kullanıcının listesini 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şabilen 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 sonuçları kullanılmaktadı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 sahiptir. - İsteğe bağlı
orderBy
sorgu dizesi, listenin kullanıcının birincil e-posta adresine, aile adı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, temel ve özel alanlar da dahil olmak üzere bir kullanıcı profilindeki birçok alanda arama yapılmasına olanak tanır. Örnekler için Kullanıcı Arama bölümüne bakın.
İ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 bir kullanıcı girişiyle döndürülmesini istemektedir. 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ılmış 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ı al
Bir hesaptan veya hesabın alanlarından birinden son 20 gün içinde silinen tüm kullanıcıları geri 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 Silinen kullanıcıyı 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ı isteği ve yanıt özellikleri için API Referansı'na bakın. Okunabilirlik açısından 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 varsa son 20 gün içinde silinen kullanıcıları tüm hesaptan geri alabilirsiniz. Bunun için aşağıdaki
GET
isteğini kullanın. Okunabilirlik için şu örnekte satır sonuçları kullanılmaktadı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
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 sahiptir.
İ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ı 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ı alır. Kullanıcının en 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 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 adlı kullanıcının 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" }
Fotoğraflarınızı API'nin 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, kısa çizgi (-) karakteriyle değiştirilir.
- Eşittir işareti (=) karakteri yıldız (*) 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. Bunun amacı URL ayrıştırmayı basitleştirmektir.
- 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 Google Kapatma Kitaplığı, Apache lisansı kapsamında yayınlanan Base64 kodlama ve kod çözme işlevlerini içerir.
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 eşit 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 kullanıcıların standart bir temel alan grubuna erişmesine izin verir. Özel alanlar 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 adlı kullanıcının 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
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" }
Bir 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
Silinen kullanıcının fotoğrafı gösterilmez. Kullanıcının fotoğrafı gereken her yerde, profil resmi 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 id
kullanıcısıdır. 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ındı. Bu kullanıcının önceki hesap mülklerinin tümü geri yüklenir:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Başarılı bir yanıt yalnızca HTTP 204 durum kodu döndürür. Silme işlemi geri alınan kullanıcı hesabını görmek için Kullanıcı alma işlemini kullanın.