Google Chat में डेटा इंपोर्ट करना

Google Chat API की मदद से, अपने अन्य मैसेजिंग प्लैटफ़ॉर्म से डेटा को Google Chat में इंपोर्ट किया जा सकता है. अपने अन्य मैसेजिंग प्लैटफ़ॉर्म से, मौजूदा मैसेज, अटैचमेंट, प्रतिक्रियाओं, सदस्यताओं, और स्पेस की इकाइयों को, उनसे जुड़े Chat API संसाधनों में इंपोर्ट किया जा सकता है. इस डेटा को इंपोर्ट करने के लिए, इंपोर्ट मोड में Chat स्पेस बनाएं और उनमें डेटा इंपोर्ट करें. प्रोसेस पूरी होने के बाद, ये स्पेस सामान्य Chat स्पेस बन जाते हैं.

इंपोर्ट करने की पूरी प्रोसेस यहां दी गई है:

  1. इंपोर्ट की योजना बनाना
  2. Chat ऐप्लिकेशन के लिए अनुमति कॉन्फ़िगर करना
  3. इंपोर्ट मोड में स्पेस बनाना
  4. संसाधन इंपोर्ट करना
  5. इंपोर्ट किए गए रिसॉर्स की पुष्टि करना
  6. सोर्स डेटा से इंपोर्ट किए गए संसाधनों के अंतर को मिलाना
  7. पूरा इंपोर्ट मोड
  8. इंपोर्ट मोड के बाद स्पेस का ऐक्सेस देना
  9. समस्या हल करने से जुड़ी जानकारी

ज़रूरी शर्तें

Apps Script

Python

इंपोर्ट का प्लान बनाना

इंपोर्ट किए जाने वाले डेटा की संख्या के हिसाब से प्लान बनाएं. साथ ही, यह समझें कि इस्तेमाल की सीमाएं और कोटा, इंपोर्ट की प्रोसेस पर कैसे असर डाल सकते हैं. साथ ही, यह भी जानें कि नए स्पेस में इंपोर्ट करते समय, Chat के किन टाइप के स्पेस का इस्तेमाल किया जा सकता है. अगर आप एडमिन हैं, तो किसी दूसरी सेवा से Google Chat में मैसेज का डेटा इंपोर्ट करना लेख पढ़ें और दिए गए निर्देशों का ध्यान से पालन करें.

एपीआई के इस्तेमाल की सीमाओं की समीक्षा करना

Chat में डेटा इंपोर्ट करने में लगने वाला समय, इंपोर्ट किए जाने वाले Chat संसाधनों की संख्या के हिसाब से काफ़ी अलग-अलग हो सकता है. अनुमानित समयावधि तय करने के लिए, Chat ऐप्लिकेशन के इस्तेमाल की सीमाओं और सोर्स मैसेजिंग प्लैटफ़ॉर्म से इंपोर्ट के लिए शेड्यूल किए गए डेटा की संख्या देखें.

हमारा सुझाव है कि स्पेस में मैसेज इंपोर्ट करते समय, अलग-अलग मैसेज थ्रेड में messages.create() वाले तरीके से कॉल करें.

इंपोर्ट करने के लिए, इस्तेमाल किए जा सकने वाले स्पेस की पहचान करना

इंपोर्ट मोड में सिर्फ़ SPACE और GROUP_CHAT के SpaceType का इस्तेमाल किया जा सकता है. यह DIRECT_MESSAGE के साथ काम नहीं करता. ज़्यादा जानकारी के लिए, SpaceType के लिए दस्तावेज़ देखें.

इंपोर्ट मोड में स्पेस बनाना

इंपोर्ट मोड में स्पेस बनाने के लिए, Space रिसॉर्स पर create तरीका का इस्तेमाल करें और importMode को true पर सेट करें.

इंपोर्ट मोड में स्पेस बनाते समय, इन बातों का ध्यान रखें.

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

सोर्स मैसेजिंग प्लैटफ़ॉर्म से मिलती-जुलती स्पेस इकाई के बनने का समय बनाए रखने के लिए, स्पेस का createTime सेट किया जा सकता है. इस createTime को 1 जनवरी, 2000 से लेकर मौजूदा समय के बीच की वैल्यू पर सेट किया जाना चाहिए.

इंपोर्ट मोड में बाहरी स्पेस बनाने के लिए, externalUserAllowed को true पर सेट करें. इंपोर्ट पूरा होने के बाद, बाहरी उपयोगकर्ताओं को जोड़ा जा सकता है.

यहां दिए गए उदाहरण में, इंपोर्ट मोड में स्पेस बनाने का तरीका बताया गया है:

Apps Script

function createSpaceInImportMode() {
  const space = Chat.Spaces.create({
      spaceType: 'SPACE',
      displayName: 'DISPLAY_NAME',
      importMode: true,
      createTime: (new Date('January 1, 2000')).toJSON()
  });
  console.log(space.name);
}

Python

"""Create a space in import mode."""

import datetime

from google.oauth2 import service_account
from googleapiclient.discovery import build

# Specify required scopes.
SCOPES = [
    'https://www.googleapis.com/auth/chat.import',
]

CREDENTIALS = (
    service_account.Credentials.from_service_account_file('credentials.json')
    .with_scopes(SCOPES)
    .with_subject('EMAIL')
)

# Build a service endpoint for Chat API.
service = build('chat', 'v1', credentials=CREDENTIALS)

result = (
    service.spaces()
    .create(
        body={
            'spaceType': 'SPACE',
            'displayName': 'DISPLAY_NAME',
            'importMode': True,
            'createTime': f'{datetime.datetime(2000, 1, 1).isoformat()}Z',
        }
    )
    .execute()
)

print(result)

इनकी जगह ये डालें:

  • EMAIL: उस उपयोगकर्ता खाते का ईमेल पता जिसकी पहचान आपने डोमेन-वाइड ऐक्सेस वाले खाते से की है.
  • DISPLAY_NAME: इंपोर्ट मोड में बनाए गए स्पेस का नाम. यह स्पेस का यूनीक नाम होना चाहिए, जो Chat के उपयोगकर्ताओं को दिखता है. हमारा सुझाव है कि आप उसी डिसप्ले नेम का इस्तेमाल करें जिसका इस्तेमाल उस स्पेस में किया जा रहा है जहां से डेटा इंपोर्ट किया जा रहा है.

संसाधन इंपोर्ट करना

अन्य मैसेजिंग प्लैटफ़ॉर्म से संसाधन इंपोर्ट करने के लिए, आपको इंपोर्ट मोड वाले स्पेस में Google Chat के संसाधन (जैसे, मैसेज, प्रतिक्रियाएं, अटैचमेंट) बनाने होंगे. स्पेस में कोई संसाधन बनाते समय, उस मैसेज प्लैटफ़ॉर्म से जुड़े संसाधन का डेटा डाला जाता है जिससे माइग्रेट किया जा रहा है.

मैसेज

आपके Chat ऐप्लिकेशन, अपनी अनुमति का इस्तेमाल करके या किसी उपयोगकर्ता के नाम पर मैसेज इंपोर्ट कर सकते हैं. मैसेज का लेखक, किसी दूसरे व्यक्ति के नाम पर मैसेज भेजने वाले उपयोगकर्ता के खाते पर सेट है. ज़्यादा जानकारी के लिए, Chat पर इस्तेमाल किए जा सकने वाले ऐप्लिकेशन को अनुमति देना लेख पढ़ें. इंपोर्ट मोड वाले स्पेस में मैसेज इंपोर्ट करने के लिए, Message संसाधन पर create तरीका का इस्तेमाल करें. सोर्स मैसेजिंग प्लैटफ़ॉर्म से ओरिजनल मैसेज बनाने का समय बनाए रखने के लिए, मैसेज का createTime सेट किया जा सकता है. इस createTime को, स्पेस बनाने के लिए पहले से सेट किए गए समय और मौजूदा समय के बीच की वैल्यू पर सेट किया जाना चाहिए.

एक ही स्पेस में मौजूद मैसेज में एक ही createTime नहीं हो सकता. भले ही, उस समय के पहले मैसेज मिटा दिए गए हों.

इंपोर्ट मोड वाले स्पेस में, तीसरे पक्ष के यूआरएल वाले मैसेज में लिंक की झलक नहीं दिखती.

इंपोर्ट मोड में मैसेज बनाने पर, स्पेस किसी भी उपयोगकर्ता को सूचना नहीं देते या ईमेल नहीं भेजते. इनमें वे मैसेज भी शामिल हैं जिनमें उपयोगकर्ताओं को टैग किया गया हो.

यहां दिए गए उदाहरण में, इंपोर्ट मोड वाले स्पेस में मैसेज बनाने का तरीका बताया गया है:

Python

"""Create a message in import mode space."""

import datetime

from google.oauth2 import service_account
from googleapiclient.discovery import build

# Specify required scopes.
SCOPES = [
    'https://www.googleapis.com/auth/chat.import',
]

CREDENTIALS = (
    service_account.Credentials.from_service_account_file('credentials.json')
    .with_scopes(SCOPES)
    .with_subject('EMAIL')
)

# Build a service endpoint for Chat API.
service = build('chat', 'v1', credentials=CREDENTIALS)

NAME = 'spaces/SPACE_NAME'
result = (
    service.spaces()
    .messages()
    .create(
        parent=NAME,
        body={
            'text': 'Hello, world!',
            'createTime': f'{datetime.datetime(2000, 1, 2).isoformat()}Z',
        },
    )
    .execute()
)

print(result)

इनकी जगह ये डालें:

प्रतिक्रियाएं

Chat ऐप्लिकेशन, Chat API का इस्तेमाल करके, मैसेज पर प्रतिक्रियाएं इंपोर्ट कर सकता है. इंपोर्ट मोड वाले स्पेस में, संसाधनों को ऐक्सेस करने के तरीकों और पुष्टि करने के तरीकों के बारे में जानने के लिए, Chat ऐप्लिकेशन को अनुमति देना लेख पढ़ें.

अटैचमेंट

Chat API का इस्तेमाल करके, आपका Chat ऐप्लिकेशन अटैचमेंट अपलोड कर सकता है. इंपोर्ट मोड वाले स्पेस में, संसाधनों को ऐक्सेस करने के तरीकों और पुष्टि करने के तरीकों के बारे में जानने के लिए, Chat ऐप्लिकेशन को अनुमति देना लेख पढ़ें. हालांकि, हमारा सुझाव है कि आप अटैचमेंट को Google Drive फ़ाइलों के तौर पर अपलोड करने के लिए, Google Drive API का इस्तेमाल करें. साथ ही, अटैचमेंट को दूसरे मैसेजिंग प्लैटफ़ॉर्म से इंपोर्ट करने के लिए, इंपोर्ट मोड वाले स्पेस में फ़ाइल के यूआरआई को उन मैसेज से लिंक करें. इससे, अटैचमेंट अपलोड करने के लिए Google Chat की इंटरनल सीमा से बचने में मदद मिलेगी.

पुरानी सदस्यताएं

पुरानी सदस्यताएं, उन उपयोगकर्ताओं के लिए बनाई जाती हैं जो सोर्स मैसेजिंग प्लैटफ़ॉर्म से, ओरिजनल स्पेस इकाई को पहले ही छोड़ चुके हैं. हालांकि, आपको उनका डेटा Chat में बनाए रखना है. स्पेस को इंपोर्ट मोड से हटाने के बाद, नए सदस्यों को जोड़ने के बारे में जानने के लिए, सदस्यता का संसाधन बनाना लेख पढ़ें.

कई मामलों में, जब स्पेस के पुराने सदस्यों पर Google की डेटा के रखरखाव की नीति लागू होती है, तो आपको Chat में इंपोर्ट करने से पहले, स्पेस में पुराने सदस्यों की सदस्यता के दौरान बनाए गए डेटा (जैसे, मैसेज और प्रतिक्रियाएं) को सेव करना पड़ता है. स्पेस इंपोर्ट मोड में होने पर, Membership रिसॉर्स पर create तरीके का इस्तेमाल करके, पुरानी सदस्यताओं को स्पेस में इंपोर्ट किया जा सकता है. पुरानी सदस्यता के खत्म होने का समय सेव रखने के लिए, आपको सदस्यता का deleteTime सेट करना होगा. सदस्यता छोड़ने का यह समय सटीक होना चाहिए, क्योंकि इससे यह तय होता है कि उन सदस्यताओं के लिए कौनसा डेटा सेव रखना है. इसके अलावा, यह deleteTime टाइमस्टैंप, स्पेस बनाने के टाइमस्टैंप के बाद का होना चाहिए. यह आने वाले समय का टाइमस्टैंप नहीं होना चाहिए.

deleteTime के अलावा, createTime को भी सेट किया जा सकता है, ताकि सदस्यता लेने का मूल समय सेव रहे. deleteTime के उलट, createTime का इस्तेमाल करना ज़रूरी नहीं है. अगर यह पैरामीटर सेट नहीं है, तो createTime का हिसाब अपने-आप लगाया जाता है. इसके लिए, deleteTime से 1 माइक्रोसेकंड घटाया जाता है. अगर सेट किया गया है, तो createTime, deleteTime से पहले होना चाहिए. साथ ही, यह स्पेस बनाने के समय पर या उसके बाद का होना चाहिए. इस createTime जानकारी का इस्तेमाल, डेटा के रखरखाव की अवधि तय करने के लिए नहीं किया जाता. यह जानकारी, Google Admin console और Google Vault जैसे एडमिन टूल में नहीं दिखती.

सोर्स मैसेजिंग प्लैटफ़ॉर्म में, उपयोगकर्ता कई तरीकों से स्पेस में शामिल हो सकता है और उसे छोड़ सकता है. जैसे, न्योते के ज़रिए, खुद शामिल होकर, किसी दूसरे उपयोगकर्ता के जोड़े जाने पर. Chat में, इन सभी कार्रवाइयों को सदस्यता के पुराने createTime और deleteTime फ़ील्ड में जोड़े जाने या हटाए जाने के तौर पर दिखाया जाता है.

यहां दिए गए उदाहरण में, इंपोर्ट मोड वाले स्पेस में पुरानी सदस्यता बनाने का तरीका बताया गया है:

Python

"""Create a historical membership in import mode space."""

import datetime

from google.oauth2 import service_account
from googleapiclient.discovery import build

# Specify required scopes.
SCOPES = [
    'https://www.googleapis.com/auth/chat.import',
]

CREDENTIALS = (
    service_account.Credentials.from_service_account_file('credentials.json')
    .with_scopes(SCOPES)
    .with_subject('EMAIL')
)

# Build a service endpoint for Chat API.
service = build('chat', 'v1', credentials=CREDENTIALS)

NAME = 'spaces/SPACE_NAME'
USER = 'users/USER_ID'
result = (
    service.spaces()
    .members()
    .create(
        parent=NAME,
        body={
            'createTime': f'{datetime.datetime(2000, 1, 3).isoformat()}Z',
            'deleteTime': f'{datetime.datetime(2000, 1, 4).isoformat()}Z',
            'member': {'name': USER, 'type': 'HUMAN'},
        },
    )
    .execute()
)

print(result)

इनकी जगह ये डालें:

किसी बाहरी स्पेस में संसाधन इंपोर्ट करना

इंपोर्ट मोड का इस्तेमाल करके, सिर्फ़ अपने Workspace संगठन के उपयोगकर्ताओं के क्रेडेंशियल से, संगठन से बाहर का स्पेस बनाया जा सकता है. यह सिर्फ़ तब लागू होता है, जब स्पेस इंपोर्ट मोड में हो. स्पेस इंपोर्ट मोड पूरा करने के बाद, संगठन से बाहर के उपयोगकर्ताओं को इंपोर्ट किए गए स्पेस में शामिल होने का न्योता भेजा जा सकता है (ऐक्सेस सेक्शन देखें). साथ ही, उनके क्रेडेंशियल का इस्तेमाल Chat API को कॉल करने के लिए किया जा सकता है.

इंपोर्ट किए गए संसाधनों की पुष्टि करना

आपका Chat ऐप्लिकेशन, Message रिसॉर्स पर list तरीके को कॉल करके, इंपोर्ट मोड वाले स्पेस के कॉन्टेंट को पढ़ सकता है और उनकी पुष्टि कर सकता है. रिस्पॉन्स के तौर पर मिले किसी भी मैसेज के emojiReactionSummaries और attachment फ़ील्ड से, Reaction और Attachment संसाधन पढ़े जा सकते हैं. चैट ऐप्लिकेशन, किसी उपयोगकर्ता की पहचान चुराकर ही इस तरीके को इस्तेमाल कर सकते हैं. ज़्यादा जानकारी के लिए, Chat पर इस्तेमाल किए जा सकने वाले ऐप्लिकेशन को अनुमति देना लेख पढ़ें.

आपका Chat ऐप्लिकेशन, पुष्टि करने के लिए अलग-अलग मैसेज भी पढ़ सकता है. इसके लिए, Message रिसॉर्स पर get तरीका इस्तेमाल किया जाता है. चैट ऐप्लिकेशन, सिर्फ़ अपने मैसेज पढ़ने के लिए इस तरीके का इस्तेमाल कर सकते हैं. इसके लिए, उन्हें अपनी अनुमति का इस्तेमाल करना होगा. ज़्यादा जानकारी के लिए, Chat पर इस्तेमाल किए जा सकने वाले ऐप्लिकेशन को अनुमति देना लेख पढ़ें.

चैट ऐप्लिकेशन, Membership संसाधन पर list तरीके का इस्तेमाल करके, सदस्यताओं के इतिहास की सूची भी दिखा सकते हैं. स्पेस को इंपोर्ट मोड से बाहर निकालने के बाद, list का तरीका इस्तेमाल करने पर, अब सदस्यों की पुरानी जानकारी नहीं दिखती. चैट ऐप्लिकेशन, किसी उपयोगकर्ता के नाम पर इस तरीके को सिर्फ़ तब कॉल कर सकते हैं, जब वे किसी दूसरे के नाम पर काम कर रहे हों. ज़्यादा जानकारी के लिए, Chat पर इस्तेमाल किए जा सकने वाले ऐप्लिकेशन को अनुमति देना लेख पढ़ें.

Space रिसॉर्स पर get मेथड को कॉल करके, इंपोर्ट मोड स्पेस की प्रॉपर्टी पढ़ी जा सकती हैं. जवाब में, importModeExpireTime की वैल्यू भी अपने-आप भर जाएगी, ताकि इंपोर्ट की प्रोसेस पूरी करने के लिए, समयसीमा को सही तरीके से ट्रैक किया जा सके. चैट ऐप्लिकेशन, सिर्फ़ अपनी अनुमति का इस्तेमाल करके इस तरीके को कॉल कर सकते हैं. ज़्यादा जानकारी के लिए, Chat पर इस्तेमाल किए जा सकने वाले ऐप्लिकेशन को अनुमति देना लेख पढ़ें.

सोर्स डेटा से इंपोर्ट किए गए संसाधनों के अंतर को मिलाना

अगर इंपोर्ट के दौरान ओरिजनल इकाई में हुए बदलावों की वजह से, इंपोर्ट किया गया कोई संसाधन अब सोर्स मैसेजिंग प्लैटफ़ॉर्म की ओरिजनल इकाई से मेल नहीं खाता है, तो Chat ऐप्लिकेशन, इंपोर्ट किए गए चैट संसाधन में बदलाव करने के लिए Chat API को कॉल कर सकते हैं. उदाहरण के लिए, अगर कोई उपयोगकर्ता Chat में मैसेज बनाने के बाद, सोर्स मैसेजिंग प्लैटफ़ॉर्म में उस मैसेज में बदलाव करता है, तो Chat ऐप्लिकेशन, इंपोर्ट किए गए मैसेज को अपडेट कर सकते हैं, ताकि वह ओरिजनल मैसेज का मौजूदा कॉन्टेंट दिखा सके.

मैसेज

इंपोर्ट मोड वाले स्पेस में किसी मैसेज के काम करने वाले फ़ील्ड को अपडेट करने के लिए, Message रिसॉर्स पर update तरीका कॉल करें. चैट ऐप्लिकेशन, इस तरीके को सिर्फ़ उसी अनुमति का इस्तेमाल करके कॉल कर सकते हैं जिसका इस्तेमाल मैसेज बनाने के दौरान किया गया था. अगर आपने मैसेज बनाने के दौरान, किसी व्यक्ति के नाम पर मैसेज भेजने की सुविधा का इस्तेमाल किया है, तो उस मैसेज को अपडेट करने के लिए, आपको उसी व्यक्ति के नाम पर मैसेज भेजना होगा.

इंपोर्ट मोड वाले स्पेस में किसी मैसेज को मिटाने के लिए, Message संसाधन पर delete तरीका आज़माएं. इंपोर्ट मोड वाले स्पेस में मौजूद मैसेज को, मैसेज बनाने वाले व्यक्ति को मिटाने की ज़रूरत नहीं होती. साथ ही, डोमेन में मौजूद किसी भी व्यक्ति के नाम पर, मैसेज मिटाए जा सकते हैं. चैट ऐप्लिकेशन, सिर्फ़ अपनी अनुमति का इस्तेमाल करके अपने मैसेज मिटा सकते हैं. ज़्यादा जानकारी के लिए, Chat पर इस्तेमाल किए जा सकने वाले ऐप्लिकेशन को अनुमति देना लेख पढ़ें.

प्रतिक्रियाएं

इंपोर्ट मोड वाले स्पेस में किसी मैसेज पर दी गई प्रतिक्रिया मिटाने के लिए, reactions संसाधन पर delete तरीके का इस्तेमाल करें. इंपोर्ट मोड वाले स्पेस में, संसाधनों को ऐक्सेस करने के तरीकों और पुष्टि करने के तरीकों के बारे में जानने के लिए, Chat ऐप्लिकेशन को अनुमति देना लेख पढ़ें.

अटैचमेंट

इंपोर्ट मोड वाले स्पेस में किसी मैसेज के अटैचमेंट अपडेट करने के लिए, media रिसॉर्स पर upload तरीके का इस्तेमाल करें. इंपोर्ट मोड वाले स्पेस में, संसाधनों को ऐक्सेस करने के तरीकों और पुष्टि करने के तरीकों के बारे में जानने के लिए, Chat ऐप्लिकेशन को अनुमति देना लेख पढ़ें.

पुरानी सदस्यताएं

इंपोर्ट मोड वाले स्पेस में, पुरानी सदस्यता मिटाने के लिए, Membership रिसॉर्स पर delete तरीके का इस्तेमाल करें. जब कोई स्फ़ेस, इंपोर्ट मोड से बाहर निकल जाता है, तो delete तरीके से पुरानी सदस्यताओं को मिटाया नहीं जा सकता.

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

Spaces

इंपोर्ट मोड स्पेस में, इस्तेमाल किए जा सकने वाले फ़ील्ड अपडेट करने के लिए, spaces रिसॉर्स पर patch तरीके का इस्तेमाल करें.

इंपोर्ट मोड वाले स्पेस को मिटाने के लिए, spaces संसाधन पर delete तरीके का इस्तेमाल करें.

इंपोर्ट मोड वाले स्पेस में, संसाधनों को ऐक्सेस करने के तरीकों और पुष्टि करने के तरीकों के बारे में जानने के लिए, Chat ऐप्लिकेशन को अनुमति देना लेख पढ़ें.

इंपोर्ट मोड पूरा करना

completeImport तरीका इस्तेमाल करने से पहले, आपको यह पक्का करना चाहिए कि पुष्टि और संसाधनों में अंतर को मिलान की प्रोसेस पूरी हो गई हो. इंपोर्ट मोड वाले स्पेस से बाहर निकलने के बाद, उसे फिर से इंपोर्ट मोड में नहीं लाया जा सकता. साथ ही, इंपोर्ट मोड वाले स्पेस को सामान्य स्पेस में बदल दिया जाता है. Chat में कोई ऐसा इंडिकेटर नहीं है जो इन स्पेस को डेटा इंपोर्ट से जोड़ता हो.

completeImport को कॉल करने की तारीख और समय, कॉल करने वाले उपयोगकर्ता के संसाधन का नाम, और मिला जवाब नोट करें. अगर आपको कोई समस्या आती है और आपको उसकी जांच करनी है, तो यह सुविधा आपके लिए मददगार हो सकती है.

इंपोर्ट मोड को पूरा करने और स्पेस को उपयोगकर्ताओं के लिए ऐक्सेस करने के लिए, Chat ऐप्लिकेशन Space रिसॉर्स पर completeImport तरीका कॉल कर सकता है. चैट ऐप्लिकेशन, किसी उपयोगकर्ता की ओर से इस तरीके को सिर्फ़ किसी दूसरे व्यक्ति के नाम पर इस्तेमाल कर सकते हैं. ज़्यादा जानकारी के लिए, Chat पर इस्तेमाल किए जा सकने वाले ऐप्लिकेशन को अनुमति देना लेख पढ़ें. यह तरीका पूरा होने के बाद, जिस व्यक्ति के नाम पर काम किया गया है उसे स्पेस में स्पेस मैनेजर के तौर पर जोड़ दिया जाता है. इस तरीके को, create.space तरीके के शुरुआती कॉल के 90 दिनों के अंदर कॉल किया जाना चाहिए. अगर 90 दिन की अवधि बीत जाने के बाद, इस तरीके को कॉल करने की कोशिश की जाती है, तो कॉल पूरा नहीं होता. इसकी वजह यह है कि इंपोर्ट मोड वाला स्पेस मिटा दिया जाता है और अब Chat ऐप्लिकेशन से उसे ऐक्सेस नहीं किया जा सकता.

completeImport तरीके में, किसी दूसरे व्यक्ति के नाम पर काम करने वाले व्यक्ति को ज़रूरी नहीं है कि वह स्पेस का क्रिएटर हो.

completeImport को importModeExpireTime के बहुत करीब न बुलाएं, क्योंकि हम यह गारंटी नहीं दे सकते कि अनुरोध importModeExpireTime से पहले पहुंच जाएगा. साथ ही, समयसीमा खत्म होने पर ट्रिगर होने वाले सिस्टम में डेटा प्रोसेसिंग में समस्याएं आ सकती हैं. हमारा सुझाव है कि importModeExpireTime से कम से कम 30 मिनट पहले completeImport को कॉल करें.

यहां दिए गए उदाहरण में, इंपोर्ट मोड को पूरा करने का तरीका बताया गया है:

Python

"""Complete import."""

from google.oauth2 import service_account
from googleapiclient.discovery import build

# Specify required scopes.
SCOPES = [
    'https://www.googleapis.com/auth/chat.import',
]

CREDENTIALS = (
    service_account.Credentials.from_service_account_file('credentials.json')
    .with_scopes(SCOPES)
    .with_subject('EMAIL')
)

# Build a service endpoint for Chat API.
service = build('chat', 'v1', credentials=CREDENTIALS)

NAME = 'spaces/SPACE_NAME'
result = service.spaces().completeImport(name=NAME).execute()

print(result)

इनकी जगह ये डालें:

इंपोर्ट मोड के बाद स्पेस का ऐक्सेस देना

Chat के उपयोगकर्ताओं को हाल ही में इंपोर्ट किए गए स्पेस का ऐक्सेस देने के लिए, Chat ऐप्लिकेशन, create.space() तरीके के कॉल के 90 दिनों के अंदर chat.import स्कोप और उपयोगकर्ता के नाम का गलत इस्तेमाल करने की सुविधा का इस्तेमाल कर सकते हैं. ऐसा इन कामों के लिए किया जा सकता है:

  • स्पेस में सदस्यों को जोड़ना: Membership रिसॉर्स पर, create() मेथड को कॉल करें. हमारा सुझाव है कि स्पेस इंपोर्ट होने के तुरंत बाद, Chat ऐप्लिकेशन Membership संसाधन बनाएं, ताकि Chat ऐप्लिकेशन chat.import स्कोप का इस्तेमाल जारी रख सकें. साथ ही, यह पक्का किया जा सके कि इंपोर्ट किए गए सभी सदस्यों के पास स्पेस का ऐक्सेस हो. आपको उन सदस्यों को जोड़ने को प्राथमिकता देनी चाहिए जिन पर Vault में होल्ड की नीति लागू हो सकती है. इस नीति की मदद से, इंपोर्ट किए गए मैसेज को तब भी सुरक्षित रखा जा सकता है, जब वे निजी डेटा के रखरखाव की अवधि खत्म हो चुकी हो.
  • टारगेट ऑडियंस सेट करना: Space रिसॉर्स पर, update() तरीका कॉल करें. टारगेट ऑडियंस बनाने और जोड़ने का तरीका जानने के लिए, Google Workspace के संगठन में, Google Chat के स्पेस को कुछ उपयोगकर्ताओं के लिए खोजने लायक बनाने का तरीका लेख पढ़ें.

chat.import स्कोप के साथ इन तरीकों का इस्तेमाल करने के लिए, जिस व्यक्ति के नाम पर काम किया जा रहा है वह स्पेस मैनेजर होना चाहिए.

संगठन से बाहर के लोगों को स्पेस में शामिल होने का न्योता भेजने के लिए, सदस्यता create() के तरीके का इस्तेमाल किया जा सकता है. पक्का करें कि आपको बाहरी उपयोगकर्ताओं के लिए, पहले से मौजूद सभी सीमाओं की जानकारी हो.

समस्या का हल

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

जब कोई स्पेस इंपोर्ट हो जाता है, तो CompleteImportSpace की स्थिति OK पर सेट हो जाती है.

90 दिनों की विंडो खत्म होने से पहले इंपोर्ट पूरा न करना

इंपोर्ट मोड में स्पेस बनाना में पहले बताया गया था कि अगर स्पेस बनाने के लिए इस्तेमाल किए गए तरीके को लागू करने के 90 दिनों बाद भी स्पेस इंपोर्ट मोड में है, तो वह अपने-आप मिट जाता है. साथ ही, उसे ऐक्सेस नहीं किया जा सकता और न ही उसे वापस लाया जा सकता.

माफ़ करें, मिटाए गए स्पेस को अब वापस नहीं पाया जा सकता. साथ ही, उसे ऐक्सेस भी नहीं किया जा सकता. इसलिए, डेटा को फिर से इंपोर्ट करना होगा.

स्पेस न दिखने की समस्या हल करना

अगर आपको नया चैट स्पेस नहीं मिल रहा है, तो CompleteImportSpace से मिले जवाब के लिए नीचे दी गई टेबल देखें. इससे आपको इसकी वजह और इसे ठीक करने का तरीका पता चलेगा.

जवाब मिल गया जांच के चरण जानकारी रिज़ॉल्यूशन
CompleteImportSpace एक अपवाद फेंकता है और GetSpace को कॉल करने पर PERMISSION_DENIED दिखता है. अपने रिकॉर्ड देखें और पता लगाएं कि स्पेस कब बनाया गया था. अगर वह 90 दिनों से ज़्यादा पुराना है, तो वह अपने-आप मिट गया होगा. इसके अलावा, स्पेस मैनेजमेंट टूल या ऑडिट लॉग में, इंपोर्ट किए गए स्पेस का कोई रिकॉर्ड नहीं होता. इंपोर्ट की प्रोसेस शुरू किए हुए 90 दिन से ज़्यादा हो चुके हैं और स्पेस को माइग्रेट नहीं किया जा सका. नया स्पेस बनाएं और इंपोर्ट की प्रोसेस फिर से चलाएं.
CompleteImportSpace से OK और GetSpace से PERMISSION_DENIED मिलता है. स्पेस मैनेजमेंट टूल में, इंपोर्ट किए गए स्पेस का कोई रिकॉर्ड नहीं है. हालांकि, ऑडिट लॉग में स्पेस को मिटाए जाने के तौर पर दिखाया गया है. स्पेस इंपोर्ट हो गया था, लेकिन बाद में उसे मिटा दिया गया. नया स्पेस बनाएं और इंपोर्ट की प्रोसेस फिर से चलाएं.