Directory API, kullanıcı oluşturmak, güncellemek ve silmek için programatik yöntemler sunar. Ayrıca, tekil kullanıcılar veya belirtilen ölçütleri karşılayan kullanıcıların 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-posta hesabına yükselttiyseniz ek Google Workspace ayarlarının kilidini açana kadar yeni kullanıcı hesabı 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 bilgi edinin bölümünde açıklanan yetkilendirmeyi ekleyin. 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ı, seçtiğiniz dildeki veri nesnelerini JSON veri biçimli nesnelere dönüştürür.
JSON isteği
Aşağıdaki JSON, kullanıcı oluşturma ile ilgili örnek bir isteği göstermektedir. İ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 eksponansiyel geri yükleme algoritması kullanın.
Yeni hesapla ilgili dikkat edilmesi gereken noktalar:
- Google hesabı için posta lisansı 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.
- İstekteki salt okunur bir alanın (ör.
isAdmin
) düzenlenmesi, API hizmeti tarafından sessizce yoksayılır. - Bir hesapta izin verilen maksimum alan adı sayısı 600'tü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. Kullanıcının hangi Google Workspace hizmetlerine erişebileceğini kullanıcının kuruluş birimi 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önetim yardım merkezine göz atın. Kullanıcıları farklı bir kuruluşa taşıma hakkında daha fazla bilgi için Kullanıcıları güncelleme başlıklı makaleyi inceleyin.
- Yeni kullanıcı hesapları için
password
gereklidir.hashFunction
belirtilmiş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'in esnek planını kullananlar için bu API'yi kullanarak kullanıcı oluşturmak maddi açıdan etkili olacak ve müşteri faturalandırma hesabınızdan ödeme alınmasına neden olacaktır. Daha fazla bilgi için API faturalandırma bilgileri başlıklı makaleyi inceleyin.
- Google Workspace hesabı, alanlarınızdan herhangi birini içerebilir. Birden fazla alan içeren hesaplarda, bir alandaki kullanıcılar diğer hesap alanlarındaki kullanıcılarla hizmet paylaşabilir. Birden fazla alandaki kullanıcılar hakkında daha fazla bilgi için API'nin birden fazla alanla ilgili bilgileri 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 üzere kuruluşunuzun dışından Google Hesabı olmayan kişileri davet ederse bu kişilere ziyaretçi_kullanıcı_adı@alanınız.com biçiminde ziyaretçi hesapları verilir. 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. Hesap, mevcut Drive dosya izinlerini korur. Ziyaretçilerle doküman paylaşma başlıklı makaleyi inceleyin.
Başarılı bir yanıtta HTTP 200 durum kodu döndürülür. Yanıt, durum koduyla birlikte yeni kullanıcı hesabının özelliklerini 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 destekler. Bu nedenle, isteğinizde yalnızca güncellenen alanları göndermeniz gerekir.
Örnek istek
Aşağıdaki örnekte, kullanıcı hesabı oluşturulduğunda kullanıcının givenName
değeri "Ece" 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, givenName
değerini "Elizabeth" yerine "Liz" olarak 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ş alanları içeren bir User
kaynağı döndürür.
Kullanıcının hesap adını güncellerken aşağıdakileri göz önünde bulundurun:
- Bir kullanıcı hesabını yeniden adlandırdığınızda kullanıcının birincil e-posta adresi ve bu kullanıcının bilgileri alınırken kullanılan alan adı değişir. Kullanıcıyı yeniden adlandırmadan önce kullanıcının tüm tarayıcı oturumlarından ve hizmetlerinden çıkış yapmasını öneririz.
- Bir kullanıcı hesabının yeniden adlandırılma işleminin tüm hizmetlere dağıtılması 10 dakikayı bulabilir.
- Bir kullanıcıyı yeniden adlandırdığınızda, e-posta yönlendirme ayarları söz konusu olduğunda 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ği için kullanıcı e-posta adresini kalıcı veriler için anahtar olarak kullanmamanızı da öneririz.
- Bir kullanıcının adını Google Workspace uygulamalarında değiştirmenin etkilerinin tam listesi için Yönetici Yardım Merkezi'ne bakı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 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. Süper yönetici hakkında daha fazla bilgi 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
değeri liz@example.com olan kullanıcı süper yönetici oldu:
POST https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/makeAdmin
{ "status": true }
Başarılı bir yanıtta HTTP 200 durum kodu döndürülü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. İşletmeler bu alanı genellikle yönetici-çalışan ve asistan ilişkileri için kullanır ancak bu alan diğer birçok ilişki türünü de destekler. İlişki, kartı destekleyen tüm Google Workspace uygulamalarında kullanıcının "İlişkili 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ı makaleyi inceleyin.
Kullanıcılar arasında ilişki oluşturma
Bir ilişkiyi, 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 olan 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üne sahip bir relations
alanı eklersiniz. İzin verilen türler için User
nesnesi referansına bakın.
relations
alanını içeren bir JSON istek gövdesi kullanarak sahip 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şkileri güncelleme veya silme
relations
alanı yalnızca bir bütün olarak güncellenebilir. İlişki türünü değiştirmek veya listedeki kişileri kaldırmak için tek tek kişileri ele alamazsınız. Yukarıdaki örnekte, mevcut yönetici ilişkisini kaldırmak ve noktalı çizgiyle gösterilen 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/userKey
Bu örnekte, birincil veya takma e-posta adresi liz@example.com olan kullanıcının kullanıcı hesabı özellikleri döndürülür:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
JSON yanıtı
Başarılı bir yanıtta HTTP 200 durum kodu döndürülür. Yanıt, durum koduyla birlikte kullanıcı hesabının özelliklerini 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 ekleyin. 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 &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ıyla döndürülür. Bu yanıtta, takip eden kullanıcı listesi için bir nextPageToken
vardır. Sistem varsayılan olarak, kullanıcının e-posta adresine göre alfabetik olarak sıralanmış 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ıtta HTTP 200 durum kodu döndürülür. Yanıt, durum koduyla birlikte example.com alanındaki 2 kullanıcı hesabını (maxResults=2
) 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 ekleyin. Okunabilirliği artırmak 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
değerini temsil etmek içinmy_customer
dizesini kullanın. - Bayi yöneticisi olarak, yeniden satılan müşterinin
customerId
adresini kullanın.customerId
için Bir alandaki tüm kullanıcıları alma işleminin isteğinde hesabın birincil alan adını kullanın. Elde edilen yanıttacustomerId
değeri bulunur. - İsteğe bağlı
orderBy
sorgu dizesi, listenin kullanıcının birincil e-posta adresine, soyadına veya adları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, hem temel hem de özel alanlar dahil olmak üzere 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 devamı olan sayfaya 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 bir bayi hesabındaki 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ıtta HTTP 200 durum kodu döndürülü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" }
Kısa süre önce silinen kullanıcıları alma
Son 20 gün içinde bir hesaptan veya hesabın alanlarından birinden 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. Bir kullanıcının silinmesini 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ı 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 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&showDeleted=true
customer
sorgu dizesi,my_customer
veyacustomerId
değeridir.- Hesap yöneticisi olarak, hesabınızın
customerId
değerini temsil etmek içinmy_customer
dizesini kullanın. - Bayi yöneticisi olarak, yeniden satılan müşterinin
customerId
adresini kullanın.customerId
için Bir alandaki tüm kullanıcıları alma işleminin isteğinde hesabın birincil alan adını kullanın. Elde edilen yanıttacustomerId
değeri bulunur.
İstek ve yanıt özellikleri için API Referansı'na bakın.
Bu örnekte, hesap yöneticisi hesaptaki tüm silinmiş 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ıtta HTTP 200 durum kodu döndürülü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ının fotoğrafını alma
API, en son Google profil fotoğrafı olan bir fotoğraf küçük resmi 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, 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 kullanıcısı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ıtta HTTP 200 durum kodu döndürülü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'de 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şaretiyle (*) değiştirilir.
- Dolgu için, dolgu amacıyla eşit işareti (=) kullanan RFC-4648 baseURL tanımı yerine nokta (.) karakteri kullanılır. Bu, URL ayrıştırmayı basitleştirmek için yapılır.
- API, yüklenen fotoğrafın boyutu ne olursa olsun fotoğrafı orantılı olarak 96x96 piksele küçültür.
JavaScript'den 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.
Yönetici olmayan bir kullanıcıyı alma
Kullanıcı hesapları yalnızca yöneticiler tarafından değiştirilebilir ancak alan adındaki tüm kullanıcılar kullanıcı profillerini okuyabilir. Yönetici olmayan bir kullanıcı, bir kullanıcının herkese açık profilini almak için viewType
parametresi domain_public
olan bir users.get
veya users.list
isteği gönderebilir. 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.
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ı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/thumbnail
Bu örnekte, liz@example.com e-posta adresine ait 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ıtta HTTP 200 durum kodu döndürülü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, id
kullanıcısı 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/thumbnail
Silinen kullanıcıların fotoğrafları gösterilmez. 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 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.
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 HTTP 200 durum kodu döndürür.
Kullanıcıyı silmeden önce dikkate alınması gereken önemli noktalar:
- Silinen kullanıcı artık giriş yapamaz.
- Kullanıcı hesabını silme hakkında daha fazla bilgi için lütfen yönetim yardım merkezine bakın.
Kullanıcı hesabını silmeyi 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ı al işleminin yanıtında bulunan tekil kullanıcı id
'tı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/undelete
Bu örnekte, liz@example.com kullanıcısının silinmesi geri alınır. Bu kullanıcının önceki hesap mülkleri de 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. Silinen kullanıcının hesabını görmek için Kullanıcıyı alma işlemini kullanın.