अपने डोमेन पर उपयोगकर्ताओं के लिए कस्टम फ़ील्ड तय किए जा सकते हैं. इसके लिए, डोमेन में कस्टम उपयोगकर्ता स्कीमा जोड़ें. इन फ़ील्ड का इस्तेमाल, इस तरह की जानकारी को सेव करने के लिए किया जा सकता है: आपके उपयोगकर्ता किन प्रोजेक्ट पर काम करते हैं, वे कहाँ रहते हैं, उन्हें कब काम पर रखा गया था या आपके कारोबार की ज़रूरतों के हिसाब से कोई अन्य जानकारी.
शुरू करने के लिए, एक या उससे ज़्यादा स्कीमा बनाएं, ताकि आपके डोमेन के लिए काम के कस्टम फ़ील्ड तय किए जा सकें. आपके पास कई एट्रिब्यूट तय करने का विकल्प होता है. जैसे, फ़ील्ड का नाम, टाइप (स्ट्रिंग, बूलियन, पूर्णांक वगैरह), यह सिंगल वैल्यू वाला है या मल्टी वैल्यू वाला, और इसकी वैल्यू आपके डोमेन में किसी भी उपयोगकर्ता को दिखनी चाहिए या सिर्फ़ एडमिन और उससे जुड़े उपयोगकर्ता को.
स्कीमा तय हो जाने के बाद, कस्टम फ़ील्ड, स्टैंडर्ड फ़ील्ड की तरह ही काम करते हैं.
इन्हें तब सेट किया जा सकता है, जब अपने डोमेन पर उपयोगकर्ताओं को अपडेट किया जा रहा हो. साथ ही, इन्हें users.get और users.list की मदद से फ़ेच किया जा सकता है. इसके अलावा, कस्टम फ़ील्ड को खोजा भी जा सकता है.
उपयोगकर्ता की प्रोफ़ाइल में कस्टम फ़ील्ड सेट करना
किसी स्कीमा को अपडेट करने या बनाने के लिए, customSchemasप्रॉपर्टी बनाएं और उसे उपयोगकर्ता रिसॉर्स में जोड़ें. customSchemas प्रॉपर्टी में, कस्टम फ़ील्ड को स्टैंडर्ड JSON फ़ॉर्मैट में स्कीमा के हिसाब से ग्रुप किया जाता है:
"customSchemas": {
"schema1": {
"field1": "value1",
"field2": [
{ "value": "value2a" },
{ "value": "value2b" },
...
],
...
},
"schema2": {
"field3": "value3",
...
},
...
}
सिंगल वैल्यू वाले कस्टम फ़ील्ड को सामान्य की-वैल्यू पेयर के तौर पर सेट किया जाता है. जैसे, "field1": "value1". एक से ज़्यादा वैल्यू वाले कस्टम फ़ील्ड को ऑब्जेक्ट के ऐरे के तौर पर सेट किया जाता है. जैसे, एपीआई में एक से ज़्यादा वैल्यू वाले स्टैंडर्ड फ़ील्ड, जैसे कि addresses और phones. इन वैल्यू ऑब्जेक्ट में, ये कुंजियां इस्तेमाल की जा सकती हैं:
| कुंजियां | |
|---|---|
value |
स्टोर की जाने वाली वैल्यू. यह ज़रूरी है. |
type |
वैल्यू का टाइप. यह जानकारी देना ज़रूरी नहीं है. इन वैल्यू का इस्तेमाल किया जा सकता है:
|
customType |
वैल्यू का कस्टम टाइप, यह विकल्प है. type को custom पर सेट करने पर, इसका इस्तेमाल करना ज़रूरी है. |
अगर स्कीमा में मौजूद किसी कस्टम फ़ील्ड के लिए अपडेट के समय कोई वैल्यू नहीं दी जाती है, तो उसे
बदला नहीं जाता. अगर अपडेट के समय customFields में स्कीमा की जानकारी नहीं दी गई है, तो उस स्कीमा के सभी कस्टम फ़ील्ड में कोई बदलाव नहीं किया जाता. किसी प्रोफ़ाइल से कस्टम फ़ील्ड या कस्टम स्कीमा मिटाने के लिए, आपको इसे null के तौर पर सेट करना होगा:
"schema1": {
"field1": null // deletes field1 from this profile.
}
JSON अनुरोध
नीचे दिए गए उदाहरण में, कॉल किसी उपयोगकर्ता को अपडेट करता है और employmentData कस्टम स्कीमा के लिए वैल्यू सेट करता है:
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" }
]
}
}
}
किसी उपयोगकर्ता की प्रोफ़ाइल में मौजूद कस्टम फ़ील्ड को पढ़ना
उपयोगकर्ता की प्रोफ़ाइल में कस्टम फ़ील्ड फ़ेच किए जा सकते हैं. इसके लिए, users.get या users.list अनुरोध में projection पैरामीटर को custom या full पर सेट करें.
उपयोगकर्ता की प्रोफ़ाइल में कस्टम फ़ील्ड खोजना
users.list अनुरोध में query पैरामीटर का इस्तेमाल करके, कस्टम फ़ील्ड में खोजा जा सकता है. schemaName.fieldNameसिंटैक्स का इस्तेमाल करके, कस्टम फ़ील्ड का अनुरोध करें. उदाहरण के लिए:
employmentData.projects:"GeneGnome"
यह फ़ंक्शन, GeneGnome प्रोजेक्ट पर काम करने वाले सभी कर्मचारियों की जानकारी दिखाता है. क्वेरी
employmentData.location="Atlanta" employmentData.jobLevel>=7
इससे अटलांटा में काम करने वाले उन सभी कर्मचारियों की जानकारी मिलती है जिनका जॉब लेवल 7 से ऊपर है. ज़्यादा जानकारी के लिए, Search के उपयोगकर्ता देखें.
कस्टम उपयोगकर्ता स्कीमा बनाना
कस्टम यूज़र स्कीमा को आपके Google Workspace खाते के सभी डोमेन में जोड़ा जा सकता है. अपने डोमेन में कस्टम उपयोगकर्ता स्कीमा बनाने के लिए, यहां दिया गया POST अनुरोध इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति देना में बताया गया तरीका अपनाकर अनुमति दें. अनुरोध क्वेरी स्ट्रिंग प्रॉपर्टी के लिए, एपीआई के बारे में जानकारी देखें.
POST https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas
खाता बनाने के सभी अनुरोधों के लिए, आपको अनुरोध पूरा करने के लिए ज़रूरी जानकारी सबमिट करनी होगी. अगर क्लाइंट लाइब्रेरी का इस्तेमाल किया जा रहा है, तो वे आपकी चुनी गई भाषा के डेटा ऑब्जेक्ट को JSON डेटा फ़ॉर्मैट किए गए ऑब्जेक्ट में बदल देती हैं.
JSON अनुरोध
यहां दिए गए सैंपल में, कस्टम स्कीमा बनाने का अनुरोध दिखाया गया है. अनुरोध और जवाब की प्रॉपर्टी की पूरी सूची देखने के लिए, एपीआई के बारे में जानकारी देखें.
{
"schemaName": "employmentData",
"fields": [
{
"fieldName": "EmployeeNumber",
"fieldType": "STRING",
"multiValued": "false"
},
{
"fieldName": "JobFamily",
"fieldType": "STRING",
"multiValued": "false"
}
]
}
अनुरोध पूरा होने पर, एचटीटीपी 201 स्टेटस कोड मिलता है. साथ ही, नए कस्टम स्कीमा की प्रॉपर्टी भी मिलती हैं.
कस्टम स्कीमा की सीमाएं
- किसी खाते में ज़्यादा से ज़्यादा 100 कस्टम स्कीमा इस्तेमाल किए जा सकते हैं.
- किसी खाते में ज़्यादा से ज़्यादा 100 कस्टम फ़ील्ड इस्तेमाल किए जा सकते हैं.
- एक वैल्यू वाले कस्टम फ़ील्ड के लिए,
stringफ़ील्ड में ज़्यादा से ज़्यादा 500 वर्ण इस्तेमाल किए जा सकते हैं. एक से ज़्यादा वैल्यू वाले कस्टम फ़ील्ड के लिए, इस्तेमाल किए जा सकने वाले एलिमेंट की संख्या, असाइन की गई वैल्यू के साइज़ पर निर्भर करती है. उदाहरण के लिए, 100 वर्णों वाली 150 वैल्यू या 500 वर्णों वाली 50 वैल्यू जोड़ी जा सकती हैं. - कस्टम स्कीमा और फ़ील्ड के नामों में, अल्फ़ान्यूमेरिक (अक्षर और अंक), अंडरस्कोर (
_), और हाइफ़न (-) का इस्तेमाल किया जा सकता है. - किसी फ़ील्ड का टाइप बदलने की अनुमति नहीं है.
- एक वैल्यू वाले फ़ील्ड में कई वैल्यू जोड़ी जा सकती हैं. हालांकि, इसका उल्टा नहीं किया जा सकता.
- कस्टम स्कीमा या फ़ील्ड के नाम नहीं बदले जा सकते.
कस्टम उपयोगकर्ता स्कीमा अपडेट करना
कस्टम स्कीमा को अपडेट करने के लिए, यहां दिया गया PUT अनुरोध इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति देना में बताया गया अनुमति देने का तरीका अपनाएं. schemaKey, स्कीमा का नाम या यूनीक स्कीमा id हो सकता है. अनुरोध और रिस्पॉन्स प्रॉपर्टी के बारे में जानने के लिए, एपीआई के बारे में जानकारी देखें.
PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas/schemaKey
JSON अनुरोध
नीचे दिए गए उदाहरण में, employmentData स्कीमा में JobFamily फ़ील्ड मौजूद था. अनुरोध में employmentData को अपडेट किया जा रहा है, ताकि इसमें सिर्फ़ EmployeeNumber फ़ील्ड शामिल हो:
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"
}
]
}
अपडेट करने के सभी अनुरोधों के लिए, आपको वह जानकारी सबमिट करनी होगी जो अनुरोध को पूरा करने के लिए ज़रूरी है.
अनुरोध पूरा होने पर, अपडेट किए गए स्कीमा रिसॉर्स के साथ एचटीटीपी 200 स्टेटस कोड मिलता है.
कस्टम उपयोगकर्ता स्कीमा वापस पाना
कस्टम स्कीमा को वापस पाने के लिए, यहां दिया गया GET अनुरोध इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति देना में बताया गया अनुमति देने का तरीका अपनाएं. schemaKey, स्कीमा का नाम या यूनीक स्कीमा id हो सकता है. अनुरोध और रिस्पॉन्स प्रॉपर्टी के बारे में जानने के लिए, एपीआई के बारे में जानकारी देखें.
GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas/schemaKey
अनुरोध पूरा होने पर, जवाब के तौर पर कस्टम स्कीमा की प्रॉपर्टी के साथ HTTP 200 स्टेटस कोड मिलता है.
{
"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"
}
]
}
सभी कस्टम उपयोगकर्ता स्कीमा वापस पाएं
एक ही खाते में मौजूद सभी कस्टम स्कीमा वापस पाने के लिए, यहां दिया गया GET अनुरोध इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति दें में बताई गई अनुमति शामिल करें. अनुरोध और जवाब की प्रॉपर्टी के लिए, एपीआई के बारे में जानकारी देखें.
GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas
अनुरोध पूरा होने पर, जवाब के तौर पर HTTP 200 स्टेटस कोड मिलता है. साथ ही, खाते के लिए कस्टम स्कीमा भी मिलते हैं.
{
"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"
}
]
}
]
}