डोमेन में उपयोगकर्ता के कस्टम स्कीमा जोड़कर, अपने डोमेन पर उपयोगकर्ताओं के लिए कस्टम फ़ील्ड तय किए जा सकते हैं. इन फ़ील्ड का इस्तेमाल, जानकारी सेव करने के लिए किया जा सकता है. जैसे, आपके उपयोगकर्ता जिन प्रोजेक्ट पर काम करते हैं, उनकी जगह की जानकारी, उन्हें नौकरी देने की तारीख या आपके कारोबार की ज़रूरतों के हिसाब से कोई भी जानकारी.
शुरू करने के लिए, अपने डोमेन के लिए काम के कस्टम फ़ील्ड तय करने के लिए, एक या उससे ज़्यादा स्कीमा बनाएं. आपके पास कई एट्रिब्यूट तय करने का विकल्प होता है. जैसे, फ़ील्ड का नाम, टाइप (स्ट्रिंग, बूलियन, पूर्णांक वगैरह), एक या एक से ज़्यादा वैल्यू वाला होना, और इसकी वैल्यू आपके डोमेन में मौजूद किसी भी उपयोगकर्ता को दिखें या सिर्फ़ एडमिन और उससे जुड़े उपयोगकर्ता को.
स्कीमा तय करने के बाद, कस्टम फ़ील्ड स्टैंडर्ड फ़ील्ड की तरह काम करते हैं.
अपने डोमेन पर उपयोगकर्ताओं को अपडेट करते समय, उन्हें सेट किया जा सकता है. साथ ही, 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/[email protected]
{
"customSchemas": {
"employmentData": {
"employeeNumber": "123456789",
"jobFamily": "Engineering"
"location": "Atlanta",
"jobLevel": 8,
"projects": [
{ "value": "GeneGnome" },
{ "value": "Panopticon", "type": "work" },
{ "value": "MegaGene", "type": "custom", "customType": "secret" }
]
}
}
}
उपयोगकर्ता प्रोफ़ाइल में कस्टम फ़ील्ड पढ़ना
उपयोगकर्ता प्रोफ़ाइल में कस्टम फ़ील्ड फ़ेच करने के लिए, projection
पैरामीटर को users.get
या
users.list
अनुरोध में 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
सही तरीके से काम करने पर, कस्टम स्कीमा की प्रॉपर्टी के साथ-साथ, एचटीटीपी 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
सही जवाब मिलने पर, खाते के कस्टम स्कीमा के साथ-साथ एचटीटीपी 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"
}
]
}
]
}