कस्टम उपयोगकर्ता फ़ील्ड मैनेज करना

अपने डोमेन पर मौजूद उपयोगकर्ताओं के लिए कस्टम फ़ील्ड तय किए जा सकते हैं. इसके लिए, डोमेन में कस्टम उपयोगकर्ता स्कीमा जोड़ें. इन फ़ील्ड का इस्तेमाल, उपयोगकर्ताओं के काम करने वाले प्रोजेक्ट, उनकी जगह, नौकरी पर रखे जाने की तारीख या आपके कारोबार की ज़रूरतों के हिसाब से कोई भी जानकारी सेव करने के लिए किया जा सकता है.

शुरू करने के लिए, एक या उससे ज़्यादा स्कीमा बनाएं. इनकी मदद से, अपने डोमेन के लिए काम के कस्टम फ़ील्ड तय करें. स्कीमा में कई एट्रिब्यूट तय किए जा सकते हैं. जैसे, फ़ील्ड का नाम, टाइप (स्ट्रिंग, बूलियन, इंटिजर वगैरह), यह सिंगल-वैल्यू वाला है या मल्टी-वैल्यू वाला, और इसकी वैल्यू आपके डोमेन में मौजूद कोई भी उपयोगकर्ता देख सकता है या सिर्फ़ एडमिन और उससे जुड़ा उपयोगकर्ता.

स्कीमा तय हो जाने के बाद, कस्टम फ़ील्ड ठीक उसी तरह काम करते हैं जैसे स्टैंडर्ड फ़ील्ड. अपने डोमेन पर मौजूद उपयोगकर्ताओं की जानकारी अपडेट करते समय, इन्हें सेट किया जा सकता है. साथ ही, 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 वैल्यू का टाइप, ज़रूरी नहीं. इन वैल्यू का इस्तेमाल किया जा सकता है:
  • custom
  • home
  • other
  • work
customType वैल्यू का कस्टम टाइप, ज़रूरी नहीं. इसका इस्तेमाल तब करना चाहिए, जब type को custom पर सेट किया गया हो.

अगर स्कीमा में मौजूद किसी कस्टम फ़ील्ड को अपडेट करते समय तय नहीं किया जाता है, तो उसमें कोई बदलाव नहीं किया जाता. अगर स्कीमा को customFields में अपडेट करते समय तय नहीं किया जाता है, तो उस स्कीमा में मौजूद सभी कस्टम फ़ील्ड में कोई बदलाव नहीं किया जाता. किसी प्रोफ़ाइल से कस्टम फ़ील्ड या कस्टम स्कीमा मिटाने के लिए, आपको इसे साफ़ तौर पर null पर सेट करना होगा:

"schema1": {
  "field1": null
}

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" }
      ]
    }
  }
}

किसी उपयोगकर्ता की प्रोफ़ाइल में कस्टम फ़ील्ड पढ़ना

किसी उपयोगकर्ता की प्रोफ़ाइल में मौजूद कस्टम फ़ील्ड को फ़ेच किया जा सकता है. इसके लिए, projection पैरामीटर को users.get या users.list के अनुरोध में, custom या full पर सेट करें.

किसी उपयोगकर्ता की प्रोफ़ाइल में कस्टम फ़ील्ड खोजना

अनुरोध में, query पैरामीटर का इस्तेमाल करके, कस्टम फ़ील्ड में खोज की जा सकती है.users.list schemaName.fieldName सिंटैक्स का इस्तेमाल करके, कस्टम फ़ील्ड का अनुरोध किया जा सकता है. उदाहरण के लिए:

employmentData.projects:"GeneGnome"

इससे, GeneGnome प्रोजेक्ट पर काम करने वाले सभी कर्मचारियों की जानकारी मिलती है. इस क्वेरी से

employmentData.location="Atlanta" employmentData.jobLevel>=7

Atlanta में, नौकरी के लेवल 7 से ऊपर के सभी कर्मचारियों की जानकारी मिलती है. ज़्यादा जानकारी के लिए, उपयोगकर्ताओं को खोजना लेख पढ़ें.

कस्टम उपयोगकर्ता स्कीमा बनाना

कस्टम उपयोगकर्ता स्कीमा को, आपके Google Workspace खाते के सभी डोमेन में जोड़ा जा सकता है. अपने डोमेन में कस्टम उपयोगकर्ता स्कीमा बनाने के लिए, यह POST अनुरोध इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति देना लेख में बताई गई अनुमति की जानकारी शामिल करें. अनुरोध क्वेरी स्ट्रिंग की प्रॉपर्टी के लिए, एपीआई के बारे में जानकारी देखें.

POST https://admin.googleapis.com/admin/directory/v1/customer/<var>my_customer or customerId</var>/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"
        },
        {
          &quot;kind": "admin#directory#schema#fieldspec",
          "fieldId": "ZKy0QtoMRy2QlM-4sAsPtQ==",
          "etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/jEULI-ZiqywQIHXgc8evEcTE4Cc\"",
          "fieldType": "STRING",
          "fieldName": "JobFamily"
        }
      ]
    }
  ]
}