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

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

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

स्कीमा तय करने के बाद, कस्टम फ़ील्ड स्टैंडर्ड फ़ील्ड की तरह काम करते हैं. अपने डोमेन पर उपयोगकर्ताओं को अपडेट करते समय, उन्हें सेट किया जा सकता है. साथ ही, 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 // 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" }
      ]
    }
  }
}

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

उपयोगकर्ता प्रोफ़ाइल में कस्टम फ़ील्ड फ़ेच करने के लिए, 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"
        }
      ]
    }
  ]
}