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 के SpaceType और GROUP_CHAT का इस्तेमाल किया जा सकता है. यह 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 नहीं हो सकता. भले ही, उस समय के पिछले मैसेज मिटा दिए गए हों.

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

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

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

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

अटैचमेंट

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

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

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

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

deleteTime के अलावा, createTime को भी सेट किया जा सकता है. इससे, सदस्यता लेने के मूल समय की जानकारी सुरक्षित रहती है. deleteTime के उलट, createTime का इस्तेमाल करना ज़रूरी नहीं है. अगर इसे सेट नहीं किया जाता है, तो createTime की वैल्यू में से 1 माइक्रोसेकंड घटाकर, deleteTime की वैल्यू अपने-आप कैलकुलेट हो जाती है. अगर सेट किया गया है, तो 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 ऐप्लिकेशन, इस तरीके का इस्तेमाल करके सिर्फ़ अपने मैसेज पढ़ सकते हैं. इसके लिए, उन्हें अपनी अनुमति का इस्तेमाल करना होगा. ज़्यादा जानकारी के लिए, Chat ऐप्लिकेशन को अनुमति देना लेख पढ़ें.

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

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

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

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

मैसेज

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

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

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

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

अटैचमेंट

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

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

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

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

Spaces

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

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

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

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

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

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

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

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

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

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

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 ऐप्लिकेशन chat.import स्कोप और उपयोगकर्ता के नाम पर कार्रवाई करने की सुविधा का इस्तेमाल कर सकते हैं. इसके लिए, उन्हें create.space() तरीके से कॉल करने के 90 दिनों के अंदर ये काम करने होंगे:

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

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

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

समस्या का हल

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

स्पेस इंपोर्ट होने के बाद, CompleteImportSpace OK के साथ पूरा हो जाता है.

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

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

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

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

ऐसे स्पेस ढूंढना जो मौजूद नहीं हैं

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

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