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

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

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

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

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

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

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

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

employmentData.projects:"GeneGnome"

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

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

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

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

आपके 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"
        }
      ]
    }
  ]
}