داده‌ها را به چت Google وارد کنید

با استفاده از API چت گوگل، می‌توانید داده‌ها را از سایر پلتفرم‌های پیام‌رسان خود به گوگل چت وارد کنید. می‌توانید پیام‌ها، پیوست‌ها، واکنش‌ها، عضویت‌ها و موجودیت‌های فضایی موجود را از سایر پلتفرم‌های پیام‌رسان خود به منابع API چت مربوطه وارد کنید. می‌توانید این داده‌ها را با ایجاد فضاهای چت در حالت واردات و وارد کردن داده‌ها به آن فضاها وارد کنید. پس از اتمام موفقیت‌آمیز فرآیند، این فضاها به فضاهای چت استاندارد تبدیل می‌شوند.

در ادامه، مراحل کامل واردات شرح داده شده است:

  1. واردات خود را برنامه‌ریزی کنید
  2. پیکربندی مجوز برای برنامه چت
  3. ایجاد فاصله در حالت وارد کردن داده
  4. منابع را وارد کنید
  5. اعتبارسنجی منابع وارد شده
  6. تطبیق تفاوت‌های منابع وارد شده از داده‌های منبع
  7. حالت واردات کامل
  8. بعد از حالت وارد کردن، به فضا دسترسی بدهید
  9. عیب‌یابی

پیش‌نیازها

اسکریپت برنامه‌ها

پایتون

واردات خود را برنامه‌ریزی کنید

برای میزان داده‌هایی که قرار است وارد شوند، برنامه‌ریزی مناسبی داشته باشید، بفهمید که محدودیت‌ها و سهمیه‌های استفاده چگونه می‌توانند بر فرآیند وارد کردن تأثیر بگذارند و از انواع فضاهای چت پشتیبانی شده هنگام وارد کردن به یک فضای جدید آگاه باشید. اگر مدیر هستید، بخش «وارد کردن داده‌های پیام به گوگل چت از سرویس دیگر» را مطالعه کنید و مراحل را با دقت دنبال کنید.

محدودیت‌های استفاده از API را بررسی کنید

زمان مورد نیاز برای وارد کردن داده‌ها به چت می‌تواند بسته به مقدار منابع چت برای وارد کردن، بسیار متفاوت باشد. محدودیت‌های استفاده از برنامه چت خود و میزان داده‌های برنامه‌ریزی شده برای وارد کردن از پلتفرم پیام‌رسان مبدا را بررسی کنید تا یک جدول زمانی تخمینی تعیین کنید.

هنگام وارد کردن پیام‌ها به یک فضا، توصیه می‌کنیم فراخوانی‌های متد messages.create() را در رشته‌های پیام مختلف پخش کنید.

فضاهای پشتیبانی شده برای وارد کردن را شناسایی کنید

حالت واردات از فضاهایی با SpaceType برابر با SPACE و GROUP_CHAT پشتیبانی می‌کند، اما DIRECT_MESSAGE پشتیبانی نمی‌کند.

برای وارد کردن مکالمات بین دو انسان یا یک انسان و یک برنامه چت، مکالمه را به یک فضای دو نفره با SpaceType برابر با SPACE یا GROUP_CHAT وارد کنید.

ایجاد فاصله در حالت وارد کردن داده

برای ایجاد یک فاصله در حالت import، متد create را روی منبع Space فراخوانی کنید و importMode روی true تنظیم کنید.

هنگام ایجاد فضا در حالت واردات، به موارد زیر توجه کنید.

  • تاریخ و زمان - به یاد داشته باشید، حالت واردات باید ظرف 90 روز تکمیل شود. اگر فضا پس از 90 روز از زمان فراخوانی متد spaces.create() هنوز در حالت واردات باشد، به طور خودکار حذف شده و غیرقابل دسترسی و بازیابی می‌شود.
    • از مقدار فیلد importModeExpireTime برای پیگیری انقضای بازه زمانی ۹۰ روزه استفاده کنید.
    • از مقدار فیلد createTime برای ردیابی انقضای بازه زمانی ۹۰ روزه استفاده نکنید. این همیشه مانند زمانی که متد spaces.create() را فراخوانی می‌کنید، نیست. هنگام استفاده از حالت import، فیلد createTime را می‌توان روی برچسب زمانی تاریخی که فضا در منبع ایجاد شده است تنظیم کرد تا زمان ایجاد اولیه حفظ شود.
  • نام منبع فضا ( name ) - شناسه منحصر به فردی که برای بازیابی اطلاعات مربوط به فضای خاص استفاده می‌شود و در مراحل بعدی هنگام وارد کردن محتوا به فضا به آن ارجاع داده می‌شود.

برای حفظ زمان ایجاد موجودیت فضایی معادل از پلتفرم پیام‌رسانی مبدا، می‌توانید createTime فضا را تنظیم کنید. این createTime باید روی مقداری بین ۱ ژانویه ۲۰۰۰ و زمان حال تنظیم شود.

برای ایجاد یک فضای خارجی در حالت import، externalUserAllowed را روی true تنظیم کنید. پس از اتمام موفقیت‌آمیز import، می‌توانید کاربران خارجی را اضافه کنید.

مثال زیر نحوه ایجاد فاصله در حالت واردات را نشان می‌دهد:

اسکریپت برنامه‌ها

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);
}

پایتون

"""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 : نام فضایی که در حالت وارد کردن ایجاد شده است. این باید یک نام منحصر به فرد برای فضایی باشد که به کاربران چت نمایش داده می‌شود. توصیه می‌کنیم از همان نام نمایشی فضایی که داده‌ها را از آن وارد می‌کنید استفاده کنید.

منابع را وارد کنید

برای وارد کردن منابع از سایر پلتفرم‌های پیام‌رسان، شما منابع گوگل چت (مانند پیام‌ها، واکنش‌ها، پیوست‌ها) را در فضای حالت واردات ایجاد می‌کنید. وقتی منبعی را در این فضا ایجاد می‌کنید، داده‌هایی را از منبع مرتبط از پلتفرم پیامی که از آن مهاجرت می‌کنید، مشخص می‌کنید.

پیام‌ها

برنامه‌های چت شما می‌توانند پیام‌ها را با استفاده از اختیارات خود یا از طرف یک کاربر از طریق جعل هویت وارد کنند. نویسنده پیام روی حساب کاربری جعل هویت شده تنظیم می‌شود. برای اطلاعات بیشتر، به بخش «مجاز کردن برنامه‌های چت» مراجعه کنید. برای وارد کردن یک پیام در فضای حالت واردات، متد create را در منبع Message فراخوانی کنید. برای حفظ زمان ایجاد پیام اصلی از پلتفرم پیام‌رسانی منبع، می‌توانید createTime پیام را تنظیم کنید. این createTime باید روی مقداری بین زمان ایجاد فضایی که قبلاً تنظیم کرده‌اید و زمان فعلی تنظیم شود.

پیام‌های موجود در یک فضا نمی‌توانند حاوی createTime یکسان باشند، حتی اگر پیام‌های قبلی با آن زمان حذف شده باشند.

پیام‌های حاوی URLهای شخص ثالث در فضاهای حالت واردات نمی‌توانند پیش‌نمایش لینک‌ها را در Google Chat نمایش دهند.

وقتی پیام‌ها را در حالت وارد کردن ایجاد می‌کنید، فاصله‌ها به هیچ کاربری اطلاع نمی‌دهند یا ایمیلی ارسال نمی‌کنند، از جمله پیام‌هایی که حاوی اشاره به کاربر هستند.

مثال زیر نحوه ایجاد یک پیام در فضای حالت واردات را نشان می‌دهد:

پایتون

"""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)

موارد زیر را جایگزین کنید:

واکنش‌ها

برنامه چت شما می‌تواند با استفاده از API چت، واکنش‌ها را برای پیام‌ها وارد کند. برای اطلاعات بیشتر در مورد روش‌های منبع و انواع پشتیبانی از احراز هویت در فضاهای حالت واردات، به بخش «مجاز کردن برنامه‌های چت» مراجعه کنید.

پیوست‌ها

برنامه چت شما می‌تواند با استفاده از API چت، پیوست‌ها را آپلود کند . برای اطلاعات بیشتر در مورد روش‌های منابع و انواع پشتیبانی احراز هویت در فضاهای حالت واردات، به بخش «مجاز کردن برنامه‌های چت» مراجعه کنید. با این حال، اکیداً توصیه می‌کنیم که از API گوگل درایو برای آپلود پیوست‌ها به عنوان فایل‌های گوگل درایو استفاده کنید و URIهای فایل را به پیام‌های مربوطه در فضاهای حالت واردات پیوند دهید تا از ورود پیوست‌ها از سایر پلتفرم‌های پیام‌رسان جلوگیری کنید و از محدودیت داخلی گوگل چت برای آپلود پیوست جلوگیری کنید.

عضویت‌های تاریخی

عضویت‌های تاریخی، عضویت‌هایی هستند که برای کاربرانی ایجاد شده‌اند که قبلاً از پلتفرم پیام‌رسان مبدا، موجودیت فضای اصلی را ترک کرده‌اند، اما شما می‌خواهید داده‌های آنها را در چت حفظ کنید . برای اطلاعات مربوط به افزودن اعضای جدید پس از اینکه فضا دیگر در حالت وارد کردن نیست، به ایجاد منبع عضویت مراجعه کنید.

در بسیاری از موارد، وقتی آن اعضای تاریخی مشمول سیاست حفظ داده‌ها در گوگل هستند، شما می‌خواهید داده‌هایی (مانند پیام‌ها و واکنش‌ها) که توسط عضویت‌های تاریخی در یک فضا ایجاد شده‌اند را قبل از وارد کردن آنها به چت، حفظ کنید. در حالی که فضا در حالت واردات است، می‌توانید آن عضویت‌های تاریخی را با استفاده از متد create در منبع Membership به فضا وارد کنید. برای حفظ زمان خروج عضویت تاریخی، باید deleteTime عضویت را تنظیم کنید. این زمان خروج باید دقیق باشد زیرا بر داده‌هایی که برای آن عضویت‌ها نگهداری می‌شوند تأثیر می‌گذارد. علاوه بر این، این deleteTime باید بعد از مهر زمانی ایجاد فضا باشد و نباید مهر زمانی آینده باشد.

علاوه بر deleteTime ، می‌توانید createTime نیز تنظیم کنید تا زمان اتصال اصلی عضویت قبلی حفظ شود. برخلاف deleteTime ، createTime اختیاری است. در صورت عدم تنظیم، createTime به طور خودکار با کم کردن ۱ میکروثانیه از deleteTime محاسبه می‌شود. در صورت تنظیم، createTime باید قبل deleteTime و در زمان ایجاد فضا یا بعد از آن باشد. این اطلاعات createTime برای تعیین میزان نگهداری داده‌ها استفاده نمی‌شود و در ابزارهای مدیریتی مانند کنسول مدیریت گوگل و Google Vault قابل مشاهده نیست.

اگرچه ممکن است روش‌های مختلفی وجود داشته باشد که یک کاربر بتواند در پلتفرم پیام‌رسان منبع بپیوندد و فضایی را ترک کند (از طریق دعوت، پیوستن توسط خودش، اضافه شدن توسط کاربر دیگر)، در چت، این اقدامات همگی توسط فیلدهای createTime و deleteTime عضویت تاریخی که اضافه یا حذف شده‌اند، نمایش داده می‌شوند.

مثال زیر نحوه ایجاد عضویت تاریخی در فضای حالت واردات را نشان می‌دهد:

پایتون

"""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 استفاده شود.

اعتبارسنجی منابع وارد شده

برنامه چت شما می‌تواند با فراخوانی متد list در منبع Message ، محتوای یک فضای حالت واردات را بخواند و اعتبارسنجی کند. می‌توانید منابع Reaction و Attachment از هر فیلد emojiReactionSummaries و attachment پیام برگشتی بخوانید. برنامه‌های چت فقط می‌توانند این متد را از طرف یک کاربر از طریق جعل هویت فراخوانی کنند. برای اطلاعات بیشتر، به Authorize Chat apps مراجعه کنید.

برنامه چت شما همچنین می‌تواند با فراخوانی متد get در منبع Message پیام‌های تکی را برای اعتبارسنجی بخواند. برنامه‌های چت فقط می‌توانند این متد را برای خواندن پیام‌های خود با استفاده از مجوز خودشان فراخوانی کنند. برای اطلاعات بیشتر، به Authorize Chat apps مراجعه کنید.

برنامه‌های چت همچنین می‌توانند با فراخوانی متد list در منبع Membership ، عضویت‌های قبلی را فهرست کنند. پس از خروج فاصله از حالت import، متد list دیگر عضویت‌های قبلی را نمایش نمی‌دهد. برنامه‌های چت فقط می‌توانند این متد را از طرف یک کاربر و از طریق جعل هویت فراخوانی کنند. برای اطلاعات بیشتر، به Authorize Chat apps مراجعه کنید.

شما می‌توانید ویژگی‌های فضای حالت واردات را با فراخوانی متد get در منبع Space بخوانید. پاسخ همچنین شامل importModeExpireTime خواهد بود، بنابراین می‌توانید به درستی بازه زمانی را برای تکمیل فرآیند واردات پیگیری کنید. برنامه‌های چت فقط می‌توانند این متد را با استفاده از مجوز خود فراخوانی کنند. برای اطلاعات بیشتر، به Authorize Chat apps مراجعه کنید.

تطبیق تفاوت‌های منابع وارد شده از داده‌های منبع

اگر هر منبع وارد شده به دلیل تغییرات در موجودیت اصلی در حین وارد کردن، دیگر با موجودیت اصلی از پلتفرم پیام‌رسان مبدا مطابقت نداشته باشد، برنامه‌های چت می‌توانند API چت را برای تغییر منبع چت وارد شده فراخوانی کنند. به عنوان مثال، اگر کاربری پس از ایجاد پیام در چت، پیامی را در پلتفرم پیام‌رسان مبدا ویرایش کند، برنامه‌های چت می‌توانند پیام وارد شده را به‌روزرسانی کنند تا محتوای فعلی پیام اصلی را منعکس کند.

پیام‌ها

برای به‌روزرسانی فیلدهای پشتیبانی‌شده در یک پیام در فضای حالت واردات، متد update را در منبع Message فراخوانی کنید. برنامه‌های چت فقط می‌توانند این متد را با استفاده از همان مجوزی که در هنگام ایجاد پیام اولیه استفاده شده است، فراخوانی کنند. اگر در هنگام ایجاد پیام اولیه از جعل هویت کاربر استفاده کرده‌اید، باید از همان کاربر جعل هویت‌شده برای به‌روزرسانی آن پیام استفاده کنید.

برای حذف یک پیام در فضای حالت واردات، متد delete را در منبع Message فراخوانی کنید. پیام‌های موجود در فضای حالت واردات نیازی به حذف توسط سازنده اصلی پیام ندارند و می‌توانند با جعل هویت هر کاربر در دامنه حذف شوند. برنامه‌های چت فقط می‌توانند پیام‌های خود را با استفاده از مجوز خود حذف کنند. برای اطلاعات بیشتر، به Authorize Chat apps مراجعه کنید.

واکنش‌ها

برای حذف یک واکنش برای یک پیام در فضای حالت واردات، از متد delete روی منبع reactions استفاده کنید. برای اطلاعات در مورد متدهای منبع و انواع پشتیبانی احراز هویت در فضاهای حالت واردات، به Authorize Chat apps مراجعه کنید.

پیوست‌ها

برای به‌روزرسانی پیوست‌های یک پیام در فضای حالت واردات، از روش upload در منبع media استفاده کنید. برای اطلاعات در مورد روش‌های منبع و انواع پشتیبانی از احراز هویت در فضاهای حالت واردات، به بخش «مجازسازی برنامه‌های چت» مراجعه کنید.

عضویت‌های تاریخی

برای حذف عضویت‌های تاریخی در یک فضای حالت واردات، از متد delete در منبع Membership استفاده کنید. پس از خروج یک فضا از حالت واردات، متد delete دیگر به شما اجازه حذف عضویت‌های تاریخی را نمی‌دهد.

شما نمی‌توانید عضویت‌های قدیمی را در فضایی که در حالت وارد کردن اطلاعات است، به‌روزرسانی کنید. اگر می‌خواهید عضویت‌های قدیمی که به اشتباه وارد شده‌اند را اصلاح کنید، ابتدا باید آن‌ها را حذف کنید و سپس در حالی که فضا هنوز در حالت وارد کردن اطلاعات است، آن‌ها را دوباره ایجاد کنید.

فضاها

برای به‌روزرسانی فیلدهای پشتیبانی‌شده در فضای حالت واردات، از متد patch روی منبع spaces استفاده کنید.

برای حذف یک فضای حالت واردات، از متد delete روی منبع spaces استفاده کنید.

برای اطلاعات در مورد روش‌های منبع و انواع پشتیبانی از احراز هویت در فضاهای حالت واردات، به بخش «مجاز کردن برنامه‌های چت» مراجعه کنید.

حالت واردات کامل

قبل از فراخوانی متد completeImport ، باید مطمئن شوید که اعتبارسنجی و تطبیق تفاوت‌های منابع تکمیل شده است. خروج از حالت import یک فرآیند برگشت‌ناپذیر است و فضای حالت import را به یک فضای معمولی تبدیل می‌کند. هیچ شاخصی در Chat وجود ندارد که این فضاها را به یک import داده نسبت دهد.

تاریخ و زمان فراخوانی تابع completeImport ، نام منبع کاربری که فراخوانی را انجام داده و پاسخ دریافتی را یادداشت کنید. این موارد در صورت مواجهه با هرگونه مشکلی و بررسی آنها می‌تواند مفید باشد.

برای تکمیل حالت واردات و در دسترس قرار دادن فضا برای کاربران، برنامه چت می‌تواند متد completeImport را در منبع Space فراخوانی کند. برنامه‌های چت فقط می‌توانند این متد را از طرف یک کاربر و از طریق جعل هویت فراخوانی کنند. برای اطلاعات بیشتر، به Authorize Chat apps مراجعه کنید. کاربر جعل هویت شده پس از تکمیل این متد، به عنوان مدیر فضا به فضا اضافه می‌شود. این متد باید ظرف ۹۰ روز از فراخوانی اولیه متد create.space فراخوانی شود. اگر پس از گذشت مدت زمان ۹۰ روز سعی در فراخوانی این متد کنید، فراخوانی با شکست مواجه می‌شود زیرا فضای حالت واردات حذف شده و دیگر برای برنامه چت قابل دسترسی نیست.

کاربر جعل هویت شده در متد completeImport نیازی به ایجاد کننده فاصله ندارد.

completeImport خیلی نزدیک به importModeExpireTime فراخوانی نکنید، زیرا نمی‌توانیم تضمین کنیم که درخواست قبل از importModeExpireTime برسد و ممکن است در سیستم‌هایی که در زمان انقضا فعال می‌شوند، تداخلاتی با پردازش داده‌ها وجود داشته باشد. توصیه می‌کنیم completeImport حداقل 30 دقیقه قبل از importModeExpireTime فراخوانی کنید.

مثال زیر نحوه تکمیل حالت واردات را نشان می‌دهد:

پایتون

"""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)

موارد زیر را جایگزین کنید:

بعد از حالت وارد کردن، به فضا دسترسی بدهید

برای دسترسی کاربران چت به فضای اخیراً وارد شده، برنامه‌های چت می‌توانند ظرف ۹۰ روز از زمان فراخوانی اولیه متد create.space() برای انجام موارد زیر، به استفاده از دامنه chat.import و جعل هویت کاربر ادامه دهند:

  • افزودن اعضا به فضا : متد create() را روی منبع Membership فراخوانی کنید. توصیه می‌کنیم برنامه‌های چت بلافاصله پس از تکمیل ایمپورت فضا، منابع Membership ایجاد کنند تا برنامه‌های چت بتوانند به استفاده از دامنه chat.import ادامه دهند و اطمینان حاصل شود که همه اعضای وارد شده به فضا دسترسی دارند. شما باید اضافه کردن اعضایی را که ممکن است مشمول سیاست Vault hold باشند، در اولویت قرار دهید ، که امکان حفظ پیام‌های وارد شده را حتی اگر خارج از دسترس باشند، فراهم می‌کند.
  • تنظیم مخاطب هدف : متد update() را در منبع Space فراخوانی کنید. برای یادگیری نحوه ایجاد و افزودن مخاطبان هدف، به بخش «قابل کشف کردن یک فضای چت گوگل برای کاربران خاص در یک سازمان Google Workspace» مراجعه کنید.

برای استفاده از این متدها با دامنه chat.import ، کاربر جعل هویت شده باید یک مدیر فضا باشد.

برای فضاهای خارجی، متد create() عضویت همچنین امکان دعوت از کاربران خارج از سازمان فضای کاری شما را فراهم می‌کند. مطمئن شوید که تمام محدودیت‌های شناخته شده برای کاربران خارجی را درک کرده‌اید.

عیب‌یابی

اگر هنگام وارد کردن فضاهای چت با مشکلی مواجه شدید، موارد زیر را برای کمک بررسی کنید. اگر با پاسخ خطایی مواجه شدید، آن را برای مراجعات بعدی و عیب‌یابی یادداشت کنید (متن را در یک سند کپی/پیست کنید یا یک اسکرین‌شات ذخیره کنید).

وقتی یک فضا با موفقیت وارد شود، CompleteImportSpace با وضعیت OK تکمیل می‌شود.

قبل از انقضای مهلت ۹۰ روزه، واردات را تکمیل نکرده‌ام

همانطور که قبلاً در بخش «ایجاد فضا در حالت واردات» توضیح داده شد، اگر فضا پس از ۹۰ روز از زمان فراخوانی متد create هنوز در حالت واردات باشد، به طور خودکار حذف شده و غیرقابل دسترسی و بازیابی می‌شود.

متأسفانه، فضای حذف شده دیگر در دسترس یا قابل بازیابی نیست و فرآیند وارد کردن باید دوباره آغاز شود.

اگر فضای مورد نظر به دلیل حجم زیاد داده‌ها برای وارد کردن در بازه ۹۰ روزه با محدودیت‌های استفاده فعلی، وارد نشد، آن فضا را برای بایگانی به دو یا چند فضای کوچک‌تر تقسیم کنید و فرآیند وارد کردن را دوباره آغاز کنید.

فضاهای گمشده را پیدا کنید

اگر نمی‌توانید فضای چت جدید را پیدا کنید، جدول زیر را برای پاسخی که از CompleteImportSpace دریافت کرده‌اید، بررسی کنید تا توضیح و نحوه حل آن را ببینید.

پاسخ دریافت شد مراحل تحقیق توضیح وضوح تصویر
CompleteImportSpace یک استثنا ایجاد می‌کند و فراخوانی GetSpace PERMISSION_DENIED برمی‌گرداند. سوابق خود را برای زمان ایجاد فضا بررسی کنید و اگر قدیمی‌تر از ۹۰ روز باشد، به طور خودکار حذف شده است. علاوه بر این، هیچ سابقه‌ای از فضای وارد شده در ابزار مدیریت فضا یا گزارش حسابرسی وجود ندارد. بیش از ۹۰ روز از شروع فرآیند واردات گذشته است و فضا نتوانسته با موفقیت از مهاجرت خارج شود. یک فضای جدید ایجاد کنید و فرآیند وارد کردن را دوباره اجرا کنید.
CompleteImportSpace مقدار OK را برمی‌گرداند و فراخوانی تابع GetSpace PERMISSION_DENIED برمی‌گرداند. هیچ سابقه‌ای از فضای وارد شده در ابزار مدیریت فضا وجود ندارد، اما در گزارش حسابرسی، حذف فضا نشان داده شده است. فضا با موفقیت وارد شد، اما متعاقباً حذف شد. یک فضای جدید ایجاد کنید و فرآیند وارد کردن را دوباره اجرا کنید.