Alana özel kullanıcı şemaları ekleyerek alan adınızdaki kullanıcılar için özel alanlar tanımlayabilirsiniz. Bu alanları, kullanıcılarınızın üzerinde çalıştığı projeler, fiziksel konumları, işe alım tarihleri veya işletmenizin ihtiyaçlarına uyan diğer her şey gibi bilgileri depolamak için kullanabilirsiniz.
Başlamak için alanınız için anlamlı olan özel alanları tanımlamak üzere bir veya daha fazla şema oluşturun. Alanın adı, tür (dize, boole, tam sayı), tek mi yoksa birden çok değerli mi olduğu ve değerlerinin alanınızdaki herhangi bir kullanıcı tarafından mı yoksa yalnızca yöneticiler ve ilişkili kullanıcı tarafından mı görüntülenebileceği gibi çeşitli özellikler belirtebilirsiniz.
Şema tanımlandıktan sonra, özel alanlar standart alanlar gibi davranır.
Bunları, alanınızdaki kullanıcıları güncellerken, users.get
ve users.list
ile getirirken ve özel alanları ararken ayarlayabilirsiniz.
Kullanıcı profilinde özel alanlar ayarlama
Bir şemayı güncellemek veya oluşturmak için bir customSchemas
mülk oluşturup kullanıcı kaynağına ekleyin. customSchemas
özelliğinin içinde, özel alanlar şemaya göre standart JSON biçiminde gruplandırılır:
"customSchemas": {
"schema1": {
"field1": "value1",
"field2": [
{ "value": "value2a" },
{ "value": "value2b" },
...
],
...
},
"schema2": {
"field3": "value3",
...
},
...
}
Tek değerli özel alanlar, "field1": "value1"
gibi basit anahtar/değer çiftleri olarak ayarlanır. Birden çok değerli özel alanlar, API'deki addresses
ve phones
gibi standart birden çok değerli alanlar gibi nesne dizileri olarak ayarlanır. Bu değer nesneleri aşağıdaki anahtarları destekler:
Anahtarlar | |
---|---|
value |
Depolanacak değer; gerekli. |
type |
Değerin türü (isteğe bağlı). Olası değerler:
|
customType |
Değerin özel türü (isteğe bağlı). type , custom olarak ayarlandığında kullanılmalıdır. |
Güncelleme zamanında şemadaki bir özel alan belirtilmemişse bu alan değiştirilmeden bırakılır. Güncelleme zamanında şemanın kendisi customFields
içinde belirtilmemişse bu şemadaki tüm özel alanlar değiştirilmez. Profilden özel bir alanı veya özel şemayı silmek için bunu açık bir şekilde null
olarak ayarlamanız gerekir:
"schema1": {
"field1": null // deletes field1 from this profile.
}
JSON isteği
Aşağıdaki örnekte bulunan çağrı, bir kullanıcıyı günceller ve employmentData
özel şeması için değerleri ayarlar:
PATCH https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
{
"customSchemas": {
"employmentData": {
"employeeNumber": "123456789",
"jobFamily": "Engineering"
"location": "Atlanta",
"jobLevel": 8,
"projects": [
{ "value": "GeneGnome" },
{ "value": "Panopticon", "type": "work" },
{ "value": "MegaGene", "type": "custom", "customType": "secret" }
]
}
}
}
Kullanıcı profilindeki özel alanları okuma
users.get
veya users.list
isteğindeki projection
parametresini custom
veya full
değerine ayarlayarak kullanıcı profilindeki özel alanları getirebilirsiniz.
Bir kullanıcı profilindeki özel alanları arama
Bir users.list
isteğindeki query
parametresini kullanarak özel alanlarda arama yapabilirsiniz. Özel alanı bir schemaName.fieldName
söz dizimiyle istersiniz. Örneğin:
employmentData.projects:"GeneGnome"
GeneGnome projesinde çalışan tüm çalışanları iade eder. Sorgu
employmentData.location="Atlanta" employmentData.jobLevel>=7
7. iş seviyesinin üzerindeki tüm çalışanları geri döndürür. Daha fazla bilgi için Kullanıcı Arama konusuna bakın.
Özel kullanıcı şeması oluşturma
Özel kullanıcı şeması, Google Workspace hesabınızın tüm alanlarına eklenebilir. Alanlarınızda özel bir kullanıcı şeması oluşturmak için aşağıdaki POST
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. İstek sorgu dizesi özellikleri için API Referansı'na bakın.
POST https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas
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çimli nesnelere dönüştürür.
JSON isteği
Aşağıdaki örnekte, özel bir şema oluşturma isteği gösterilmektedir. İstek ve yanıt özelliklerinin tam listesi için API Referansı'na bakın.
{
"schemaName": "employmentData",
"fields": [
{
"fieldName": "EmployeeNumber",
"fieldType": "STRING",
"multiValued": "false"
},
{
"fieldName": "JobFamily",
"fieldType": "STRING",
"multiValued": "false"
}
]
}
Başarılı bir yanıt, yeni özel şemanın özellikleriyle birlikte bir HTTP 201 durum kodu döndürür.
Özel şema sınırları
- Bir hesapta izin verilen maksimum özel şema sayısı 100'dür.
- Bir hesapta izin verilen maksimum özel alan sayısı 100'dür.
- Tek değerli bir özel alan için
string
alanında izin verilen maksimum karakter sayısı 500'dür. Birden çok değerli özel alanlarda izin verilen öğe sayısı, atanan değerlerin boyutuna bağlıdır. Örneğin, her biri 100 karakterden oluşan 150 değer veya her biri 500 karakter uzunluğunda 50 değer ekleyebilirsiniz. - Özel şemalarda ve alan adlarında izin verilen karakterler alfasayısal karakter, alt çizgi (
_
) ve kısa çizgidir (-
). - Alan türünün değiştirilmesine izin verilmez.
- Tek değerli bir alan birden çok değerli yapılabilir, ancak ters işleme izin verilmez.
- Özel şemalar veya alanlar yeniden adlandırılamaz.
Özel kullanıcı şeması güncelleme
Özel bir şemayı güncellemek için aşağıdaki PUT
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. schemaKey
, şema adı veya benzersiz şema id
olabilir. İstek ve yanıt özellikleri için API Referansı'na bakın.
PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas/schemaKey
JSON isteği
Aşağıdaki örnekte, employmentData
şeması başlangıçta bir JobFamily
alanı içeriyordu. İstek, employmentData
öğesini yalnızca bir EmployeeNumber
alanı içerecek şekilde güncelliyor:
PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/schemas/employmentData
{
"kind": "admin#directory#schema",
"schemaId": "dKaYmUwmSZy5lreXyh75hQ==",
"etag": "\"St7vIdePbbDsQUvvrssynd-6JLg/PKg63GvWb7bnVSNRomd_O-Vi66w\"",
"schemaName": "employmentData",
"fields": [
{
"kind": "admin#directory#schema#fieldspec",
"fieldId": "21_B4iQIRY-dIFGFgAX-Og==",
"etag": "\"St7vIdePbbDsQUvvrssynd-6JLg/LZxiGaz6_N4R40OpKbDhOcy2qiE\"",
"fieldType": "STRING",
"fieldName": "EmployeeNumber",
"multiValued": "false"
}
]
}
Tüm güncelleme isteklerinde, isteği yerine getirmek için gereken bilgileri göndermeniz gerekir.
Başarılı bir yanıt, güncellenmiş şema kaynağıyla birlikte bir HTTP 200 durum kodu döndürür.
Özel kullanıcı şeması alma
Özel bir şema almak için aşağıdaki GET
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. schemaKey
, şema adı veya benzersiz şema id
olabilir. İstek ve yanıt özellikleri için API Referansı'na bakın.
GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas/schemaKey
Başarılı bir yanıt, özel şemanın özellikleriyle birlikte bir HTTP 200 durum kodu döndürür.
{
"kind": "admin#directory#schema",
"schemaId": "dKaYmUwmSZy5lreXyh75hQ==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/PKg63GvWb7bnVSNRomd_O-Vi66w\"",
"schemaName": "employmentData",
"fields": [
{
"kind": "admin#directory#schema#fieldspec",
"fieldId": "21_B4iQIRY-dIFGFgAX-Og==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/LZxiGaz6_N4R40OpKbDhOcy2qiE\"",
"fieldType": "STRING",
"fieldName": "EmployeeNumber"
},
{
"kind": "admin#directory#schema#fieldspec",
"fieldId": "ZKy0QtoMRy2QlM-4sAsPtQ==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/jEULI-ZiqywQIHXgc8evEcTE4Cc\"",
"fieldType": "STRING",
"fieldName": "JobFamily"
}
]
}
Tüm özel kullanıcı şemalarını al
Aynı hesaptaki tüm özel şemaları almak için aşağıdaki GET
isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin.İstek ve yanıt özellikleri için API Referansı'na bakın.
GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas
Başarılı bir yanıt, hesaba ilişkin özel şemalarla birlikte bir HTTP 200 durum kodu döndürür.
{
"kind": "admin#directory#schemas",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/iJ1eWn5AKuR-xTdwH_2IBlvSSKo\"",
"schemas": [
{
"kind": "admin#directory#schema",
"schemaId": "dKaYmUwmSZy5lreXyh75hQ==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/PKg63GvWb7bnVSNRomd_O-Vi66w\"",
"schemaName": "employmentData",
"fields": [
{
"kind": "admin#directory#schema#fieldspec",
"fieldId": "21_B4iQIRY-dIFGFgAX-Og==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/LZxiGaz6_N4R40OpKbDhOcy2qiE\"",
"fieldType": "STRING",
"fieldName": "EmployeeNumber"
},
{
"kind": "admin#directory#schema#fieldspec",
"fieldId": "ZKy0QtoMRy2QlM-4sAsPtQ==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/jEULI-ZiqywQIHXgc8evEcTE4Cc\"",
"fieldType": "STRING",
"fieldName": "JobFamily"
}
]
}
]
}