Directory API, kullanıcı oluşturma, güncelleme ve silme için programatik yöntemler sağlar. Ayrıca, belirli ölçütleri karşılayan tek tek kullanıcılar veya kullanıcı listeleri hakkında da 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ızla bir iş e-posta hesabına yükselttiyseniz ek Google Workspace ayarlarını etkinleştirene 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ı makaleyi inceleyin.
Alanlarınızdan birini kullanarak kullanıcı hesabı oluşturmak için aşağıdaki POST isteğini kullanın ve Kimlik doğrulama ve yetkilendirme hakkında bölümünde açıklanan yetkilendirmeyi ekleyin. Directory API için kullanılabilen kapsamları OAuth 2.0 kapsamları listesinde görebilirsiniz. İstek sorgusu dizesi özellikleri için users.insert() yöntemine bakın.
POST https://admin.googleapis.com/admin/directory/v1/users
Tüm oluşturma istekleri için isteği karşılamak üzere gereken bilgileri göndermeniz gerekir. İstemci kitaplıklarını kullanıyorsanız bu kitaplıklar, seçtiğiniz dildeki veri nesnelerini biçimlendirilmiş JSON veri nesnelerine dönüştürür.
JSON isteği
Aşağıdaki JSON'da kullanıcı oluşturmaya yönelik ö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 hızı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 eksponansiyel geri yükleme algoritması kullanın.
Yeni hesapla ilgili dikkat edilmesi gereken noktalar:
- Google Hesabı'nda posta lisansları satın alınmışsa yeni kullanıcı hesabına otomatik olarak bir posta kutusu atanır. Bu atamanın tamamlanması ve etkinleştirilmesi birkaç dakika sürebilir.
- İsteklerdeki salt okunur alanların (ör.
isAdmin) düzenlenmesi, API hizmeti tarafından sessizce yoksayılır. - Bir hesapta izin verilen maksimum alan adı sayısı 600'dür (1 birincil alan adı + 599 ek alan adı).
- Kullanıcı hesabı oluşturulurken belirli bir kuruluş birimine atanmamışsa hesap, ü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 erişimi değişir. Kuruluş yapıları hakkında daha fazla bilgi için Yönetici Yardım Merkezi'ne bakın. Bir kullanıcıyı farklı bir kuruluşa taşıma hakkında daha fazla bilgi için Kullanıcıyı güncelleme başlıklı makaleyi inceleyin.
- Yeni kullanıcı hesapları için
passwordgerekir.hashFunctionbelirtilmişse şifre geçerli bir karma anahtarı olmalıdır. Belirtilmemişse şifre, açık metin biçiminde ve 8-100 ASCII karakter uzunluğunda olmalıdır. Daha fazla bilgi için API Referansı'na bakın. - Google Workspace için esnek plan kullanan kullanıcılar için bu API kullanılarak oluşturulan kullanıcılar, parasal etkiye neden olur ve müşteri faturalandırma hesabınızdan ücret alınır. Daha fazla bilgi için API faturalandırma bilgileri başlıklı makaleyi inceleyin.
- Google Workspace hesabınızda alanlarınızın tümü yer alabilir. Çok alanlı bir hesapta, bir alandaki kullanıcılar hizmetleri diğer hesap alanlarındaki kullanıcılarla paylaşabilir. Birden fazla alandaki kullanıcılar hakkında daha fazla bilgi için API multiple domain information başlıklı makaleyi inceleyin.
- Çakışan hesaplar olabilir. Eklemeyi planladığınız kişilerin zaten Google Hesapları 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, kuruluşunuzun dışından olup Google Hesabı olmayan kişileri Drive'da ortak çalışma yapmaya davet ederse bu kişiler, ziyaretçi_kullanıcı_adı@alan_adınız.com 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, mevcut Drive dosya izinlerini korur. Ziyaretçilerle doküman paylaşma başlıklı makaleyi inceleyin.
Başarılı bir yanıt HTTP 200 durum kodu döndürür. Yanıt, durum koduyla birlikte yeni kullanıcı hesabının özelliklerini de 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 ekleyin. 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 metni, User öğesinin bir örneğini içerir. Ancak Directory API, yama semantiğini desteklediğinden isteğinizde yalnızca güncellenen alanları göndermeniz gerekir.
Örnek istek
Aşağıdaki örnekte, kullanıcı hesabı oluşturulurken kullanıcının givenName "Elizabeth" olarak ayarlanmış ve yalnızca bir iş e-posta adresi sağlanmıştır.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
]
}
Aşağıdaki istek, givenName alanını "Elizabeth"ten "Liz"e günceller ve bir 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,
HTTP 200 durum kodu ve güncellenmiş alanlara sahip bir User
kaynağı döndürür.
Kullanıcının hesap adını güncellerken aşağıdakilere dikkat edin:
- Kullanıcı hesabını yeniden adlandırmak, kullanıcının birincil e-posta adresini ve bu kullanıcının bilgilerini alırken kullanılan alanı değiştirir. Kullanıcının adını değiştirmeden önce, kullanıcının tüm tarayıcı oturumlarının ve hizmetlerinin oturumunu kapatmanızı öneririz.
- Kullanıcı hesabını yeniden adlandırma işleminin tüm hizmetlere yansıtılması 10 dakikayı bulabilir.
- Bir kullanıcının adını değiştirdiğinizde, e-posta yönlendirme ayarları durumunda posta dağıtımının kesintisiz olmasını sağlamak için eski kullanıcı adı takma ad olarak tutulur ve yeni 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ı da öneririz.
- Bir kullanıcının Google Workspace uygulamalarında yeniden adlandırılmasının etkilerinin tam listesi için Yönetici Yardım Merkezi'ne bakın.
Bir kullanıcıyı yönetici yapma
Bir 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 için yönetim yardım merkezine bakın.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdminJSON isteği
Bu örnekte, userKey adresi 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 HTTP 200 durum kodu döndürür.
Kullanıcı ilişkilerini yönetme
Directory API, kullanıcılar arasındaki farklı ilişki türlerini tanımlamak için relations alanını kullanır. İşletme ortamında bu alan genellikle yönetici-çalışan ve asistan ilişkileri için kullanılır ancak alan, başka 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üğü yerlerle ilgili örnekler için Kullanıcının Dizin profiline bilgi ekleme başlıklı makaleyi inceleyin.
Kullanıcılar arasında ilişki oluşturma
Yalnızca bir yönde ilişki tanımlayabilirsiniz. Bu ilişki, kaydında relations alanı bulunan "sahip" kullanıcıdan başlar. type
diğer kişinin sahip olan kullanıcıyla ilişkisini açıklar. Örneğin, yönetici-çalışan ilişkisinde çalışan, sahip olan 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.
relations alanını içeren bir JSON istek gövdesiyle sahip olan kullanıcıyı oluşturarak veya güncelleyerek ilişkiyi ayarlayın.
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
Yalnızca relations alanı bir bütün olarak güncellenebilir. İlişki türünü değiştirmek veya kişileri kaldırmak için listedeki her bir kullanıcıya ayrı ayrı erişemezsiniz. Yukarıdaki örnekte, mevcut yönetici ilişkisini kaldırmak ve noktalı çizgiyle belirtilen yöneticiyi sahip kullanıcının yöneticisi yapmak için sahip kullanıcının hesabını, alanın tüm değerlerini 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 değerini boş olarak ayarlayın:
{
"relations": []
}
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 ekleyin. 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/userKeyBu ö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 HTTP 200 durum kodu döndürür. Yanıt, durum koduyla birlikte kullanıcı hesabının özelliklerini de 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ı almak için aşağıdaki GET isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. Okunabilirliği artırmak açısından 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ı olacak şekilde döndürülür. Bu yanıttaki kullanıcıların takip listesi için nextPageToken bulunmaktadır. Varsayılan olarak sistem, kullanıcının e-posta adresinin alfabetik sırasına göre 100 kullanıcının listesini döndürür:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
Başarılı bir yanıt HTTP 200 durum kodu döndürür. Yanıt, durum koduyla birlikte example.com alanında 2 kullanıcı hesabı döndürür (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" }
Tüm hesap kullanıcılarını alma
Birden fazla alan adından 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 ekleyin. Okunabilirliği artırmak açısından 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
customersorgu dizesi,my_customerveyacustomerIddeğeridir.- Hesabınızın
customerIddeğerini temsil etmek içinmy_customerdizesini kullanın. - Bayi yöneticisi olarak, yeniden satılan müşterinin
customerId'unu kullanın.customerIdiçin Bir alandaki tüm kullanıcıları alma işleminin isteğinde hesabın birincil alan adını kullanın. Sonuçta elde edilen yanıtın değericustomerIdolur. - İsteğe bağlı
orderBysorgu dizesi, listenin kullanıcının birincil e-posta adresine, soyadına veya adına göre sıralanıp sıralanmayacağını belirler.orderBykullanırken sonuçları artan veya azalan düzende listelemek içinsortOrdersorgu dizesini de kullanabilirsiniz. - İsteğe bağlı
querysorgu dizesi, hem temel hem de özel alanlar dahil olmak üzere bir kullanıcı profilindeki 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 devam 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ılan bir hesaptaki tüm kullanıcıları istiyor.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
JSON yanıtı
Başarılı bir yanıt 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ı geri 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 ekleyin. Silinen bir kullanıcıyı geri yüklemek için Silinen bir kullanıcıyı geri yükleme başlıklı makaleyi inceleyin.
Son 20 gün içinde hesabın birincil alanından veya bir alt alanından silinen kullanıcıları 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. Okunabilirliği artırmak 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 &showDeleted=true
GET isteğini kullanabilirsiniz. Okunabilirliği artırmak açısından 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&showDeleted=true
customersorgu dizesi,my_customerveyacustomerIddeğeridir.- Hesap yöneticisi olarak, hesabınızın
customerIddeğerini temsil etmek içinmy_customerdizesini kullanın. - Bayi yöneticisi olarak, yeniden satılan müşterinin
customerId'ını kullanın.customerIdiçin Bir alandaki tüm kullanıcıları alma işleminin isteğinde hesabın birincil alan adını kullanın. Sonuçta elde edilen yanıtın değericustomerIdolur.
İstek ve yanıt özellikleri için API Referansı'na bakın.
Bu örnekte, bir hesap yöneticisi hesaptaki tüm silinmiş kullanıcıları istiyor:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
JSON yanıtı
Başarılı bir yanıt 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" }
Kullanıcı fotoğrafını alma
API, en son Google profil fotoğrafı olan bir fotoğrafın küçük resmini 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 ekleyin. userKey, kullanıcının birincil e-posta adresi, kullanıcı id veya kullanıcının takma ad e-posta adreslerinden 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/thumbnailBu örnekte, liz@example.com adresinin 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 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 kullandığı 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 (+) karakterinin yerini tire (-) karakteri alır.
- Eşittir işareti (=) karakteri, yıldız işareti (*) ile değiştirilir.
- Doldurma için, doldurma amacıyla eşittir işaretini (=) kullanan RFC-4648 baseURL tanımı yerine nokta (.) karakteri kullanılır. Bu, URL ayrıştırmayı basitleştirmek için yapılır.
- Yüklenen fotoğrafın boyutu ne olursa olsun API, fotoğrafı orantılı olarak 96x96 piksel boyutuna küçültür.
JavaScript'ten uyumlu bağlantılar oluşturmanız gerekiyorsa Google Closure Library, Apache lisansı kapsamında yayınlanan Base64 kodlama ve kod çözme işlevlerini içerir.
Kullanıcıyı yönetici olmayan bir kullanıcı olarak alma
Kullanıcı hesapları yalnızca yöneticiler tarafından değiştirilebilirken, alandaki herhangi bir kullanıcı kullanıcı profillerini okuyabilir. Yönetici olmayan bir kullanıcı, viewType parametresi domain_public değerine eşit olan bir users.get veya users.list isteğinde bulunarak kullanıcının herkese açık profilini alabilir. Bu kullanım alanı için https://www.googleapis.com/auth/admin.directory.user.readonly kapsamı idealdir.
domain_public görünümü, yönetici olmayan bir kullanıcının temel alanlardan oluşan standart bir kümeye erişmesine izin verir. Özel alanlar için şemayı tanımlarken alanın herkese açık mı yoksa gizli mi olacağını seçebilirsiniz.
Kullanıcı fotoğrafını güncelleme
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, kullanıcı id veya kullanıcı takma adlarının e-posta adreslerinden herhangi biri olabilir. İstek ve yanıt özellikleri için API Referansı'na bakın.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnailBu örnekte, liz@example.com 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"
}Fotoğraf güncellenirken API, height ve width değerlerini yoksayar.
JSON yanıtı
Başarılı bir yanıt 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 dahil edin. userKey, kullanıcının birincil e-posta adresi, kullanıcı id veya kullanıcı takma adlarının e-posta adreslerinden herhangi biri olabilir. İstek ve yanıt özellikleri için API Referansı'na bakın.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnailSilinen kullanıcıların fotoğrafları gösterilmez. Kullanıcının fotoğrafının gerekli olduğu her yerde bunun yerine bir siluet 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/userKeyBu örnekte, liz@example.com kullanıcı hesabı silinir:
DELETE https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Başarılı bir yanıt yalnızca HTTP 200 durum kodu döndürür.
Kullanıcıyı silmeden önce dikkat edilmesi gereken önemli noktalar:
- Silinen kullanıcı artık giriş yapamaz.
- Kullanıcı hesabı silme hakkında daha fazla bilgi için lütfen yönetim yardım merkezine bakın.
Silinen kullanıcı hesabını 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 ekleyin. userKey, Son 20 gün içinde silinen kullanıcıları alma işleminin yanıtında bulunan benzersiz kullanıcı id'dır. Kullanıcının birincil e-posta adresi veya 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/undeleteBu örnekte, liz@example.com kullanıcısının silme işlemi geri alınır. Bu kullanıcının önceki tüm hesap özellikleri 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 kodunu döndürür. Silinmemiş kullanıcının hesabını görmek için Kullanıcıyı alma işlemini kullanın.