به عنوان یک برنامه چت Google احراز هویت

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

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

روش‌های Google Chat API که از مجوز برنامه با دامنه‌های مجوز پشتیبانی می‌کنند که نام‌هایی دارند که https://www.googleapis.com/auth/chat.app.* شروع می‌شوند، به تأیید یک بار سرپرست نیاز دارند. روش‌های Google Chat API که از مجوز برنامه با محدوده مجوز https://www.googleapis.com/auth/chat.bot پشتیبانی می‌کنند، نیازی به تأیید اضافی ندارند. حوزه‌های مجوز https://www.googleapis.com/auth/chat.app.* در پیش‌نمایش برنامه‌نویس موجود است.

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

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

پیش نیازها

جاوا

  • JDK 1.7 یا بالاتر
  • ابزار مدیریت بسته Maven
  • پروژه Maven اولیه. برای مقداردهی اولیه یک پروژه جدید، دستور زیر را در رابط خط فرمان خود اجرا کنید:
    mvn archetype:generate -DgroupId=com.google.chat.app.authsample -DartifactId=auth-sample-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • یک برنامه Google Chat که برای ویژگی‌های تعاملی فعال است. برای ایجاد یک برنامه چت تعاملی با استفاده از سرویس HTTP، این شروع سریع را کامل کنید.
  • برنامه چت را به یک فضا اضافه کنید. برای افزودن برنامه گپ، به تست ویژگی‌های تعاملی برای برنامه‌های گپ Google مراجعه کنید.

پایتون

Node.js

  • Node.js 14 یا بالاتر
  • ابزار مدیریت بسته npm
  • یک پروژه Node.js اولیه. برای مقداردهی اولیه یک پروژه جدید، یک پوشه جدید ایجاد کرده و به آن سوئیچ کنید، سپس دستور زیر را در رابط خط فرمان خود اجرا کنید:
    npm init
  • یک برنامه Google Chat که برای ویژگی‌های تعاملی فعال است. برای ایجاد یک برنامه چت تعاملی با استفاده از سرویس HTTP، این شروع سریع را کامل کنید.
  • برنامه چت را به یک فضا اضافه کنید. برای افزودن برنامه گپ، به تست ویژگی‌های تعاملی برای برنامه‌های گپ Google مراجعه کنید.

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

مرحله 1: یک حساب سرویس در کنسول Google Cloud ایجاد کنید

یک حساب سرویس ایجاد کنید که برنامه Chat شما بتواند از آن برای دسترسی به APIهای Google استفاده کند.

یک حساب کاربری ایجاد کنید

برای ایجاد یک حساب کاربری، مراحل زیر را دنبال کنید:

کنسول Google Cloud

  1. در کنسول Google Cloud، به منو > IAM & Admin > حساب‌های سرویس بروید.

    به حساب های خدماتی بروید

  2. روی ایجاد حساب سرویس کلیک کنید.
  3. جزئیات حساب سرویس را پر کنید، سپس روی ایجاد و ادامه کلیک کنید.
  4. اختیاری: نقش هایی را به حساب سرویس خود اختصاص دهید تا به منابع پروژه Google Cloud خود دسترسی داشته باشید. برای جزئیات بیشتر، به اعطای، تغییر، و لغو دسترسی به منابع مراجعه کنید.
  5. روی Continue کلیک کنید.
  6. اختیاری: کاربران یا گروه‌هایی را وارد کنید که می‌توانند عملکردها را با این حساب سرویس مدیریت و انجام دهند. برای جزئیات بیشتر، به مدیریت جعل هویت حساب سرویس مراجعه کنید.
  7. روی Done کلیک کنید. آدرس ایمیل حساب سرویس را یادداشت کنید.

gcloud CLI

  1. ایجاد حساب سرویس:
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. اختیاری: نقش هایی را به حساب سرویس خود اختصاص دهید تا به منابع پروژه Google Cloud خود دسترسی داشته باشید. برای جزئیات بیشتر، به اعطای، تغییر، و لغو دسترسی به منابع مراجعه کنید.

حساب سرویس در صفحه حساب سرویس ظاهر می شود. بعد، یک کلید خصوصی برای حساب سرویس ایجاد کنید.

یک کلید خصوصی ایجاد کنید

برای ایجاد و دانلود یک کلید خصوصی برای حساب سرویس، مراحل زیر را دنبال کنید:

  1. در کنسول Google Cloud، به منو > IAM & Admin > حساب‌های سرویس بروید.

    به حساب های خدماتی بروید

  2. حساب سرویس خود را انتخاب کنید.
  3. روی کلیدها > افزودن کلید > ایجاد کلید جدید کلیک کنید.
  4. JSON را انتخاب کنید، سپس روی Create کلیک کنید.

    جفت کلید عمومی/خصوصی جدید شما تولید شده و به عنوان یک فایل جدید در دستگاه شما دانلود می شود. فایل JSON دانلود شده را به عنوان credentials.json در فهرست کاری خود ذخیره کنید. این فایل تنها کپی این کلید است. برای اطلاعات در مورد نحوه ذخیره ایمن کلید خود، به مدیریت کلیدهای حساب سرویس مراجعه کنید.

  5. روی Close کلیک کنید.

برای اطلاعات بیشتر درباره حساب‌های خدمات، به حساب‌های خدمات در اسناد Google Cloud IAM مراجعه کنید.

سپس، یک سرویس گیرنده OAuth سازگار با Google Workspace Marketplace برای این حساب سرویس ایجاد کنید.

تایید مدیر را دریافت کنید

برای استفاده از محدوده مجوزی که با https://www.googleapis.com/auth/chat.app.* شروع می شود، که به عنوان بخشی از پیش نمایش برنامه نویس در دسترس هستند، برنامه گپ شما باید یک بار تأیید سرپرست دریافت کند.

برای استفاده از محدوده مجوز https://www.googleapis.com/auth/chat.bot ، نیازی به تأیید سرپرست نیست.

برای دریافت تأیید سرپرست، باید حساب سرویس برنامه Chat خود را با اطلاعات زیر آماده کنید:

  • یک سرویس گیرنده OAuth سازگار با Google Workspace Marketplace.
  • پیکربندی برنامه در Google Workspace Marketplace SDK.

یک سرویس گیرنده OAuth سازگار با Google Workspace Marketplace ایجاد کنید

برای ایجاد یک سرویس گیرنده OAuth سازگار با Google Workspace Marketplace، این مراحل را دنبال کنید:

  1. در کنسول Google Cloud، به منو > IAM & Admin > حساب‌های سرویس بروید.

    به حساب های خدماتی بروید

  2. روی حساب سرویسی که برای برنامه چت خود ایجاد کردید کلیک کنید.

  3. روی تنظیمات پیشرفته کلیک کنید.

  4. روی ایجاد سرویس گیرنده OAuth سازگار با Google Workspace Marketplace کلیک کنید.

  5. روی Continue کلیک کنید.

یک پیام تأیید ظاهر می‌شود که می‌گوید یک سرویس گیرنده OAuth سازگار با Google Workspace Marketplace ایجاد شده است.

برنامه Chat را در Google Workspace Marketplace SDK پیکربندی کنید

برای پیکربندی برنامه Chat در Google Workspace Marketplace SDK، این مراحل را دنبال کنید:

  1. در کنسول Google Cloud، Google Workspace Marketplace SDK را فعال کنید.

    Google Workspace Marketplace SDK را فعال کنید

  2. در کنسول Google Cloud، به منو > APIs & Services > Enabled APIs & services > Google Workspace Marketplace SDK > App Configuration بروید.

    به تنظیمات برنامه بروید

  3. صفحه پیکربندی برنامه را کامل کنید. نحوه پیکربندی برنامه چت به مخاطبان مورد نظر شما و عوامل دیگر بستگی دارد. برای کمک به تکمیل صفحه پیکربندی برنامه، به پیکربندی برنامه خود در Google Workspace Marketplace SDK مراجعه کنید. برای اهداف این راهنما، اطلاعات زیر را وارد کنید:

    1. در قسمت مشاهده برنامه ، خصوصی را انتخاب کنید.
    2. در قسمت تنظیمات نصب ، Individual + admin install را انتخاب کنید.
    3. در بخش ادغام‌های برنامه ، برنامه گپ را انتخاب کنید.
    4. در زیر دامنه های OAuth ، همه حوزه های احراز هویت را که برنامه چت شما استفاده می کند وارد کنید.

    5. در قسمت اطلاعات برنامه‌نویس ، نام برنامه‌نویس ، URL وب‌سایت برنامه‌نویس و ایمیل برنامه‌نویس خود را وارد کنید.

    6. روی ذخیره پیش نویس کلیک کنید.

تایید مدیر را دریافت کنید

اکنون که حساب سرویس شما برای دریافت تأییدیه سرپرست پیکربندی شده است، آن را از یک سرپرست Google Workspace دریافت کنید که می‌تواند با دنبال کردن مراحل تنظیم مجوز برای برنامه‌های گپ، تأییدیه را صادر کند.

مرحله 2: کتابخانه مشتری Google و سایر وابستگی ها را نصب کنید

کتابخانه مشتری Google و سایر وابستگی های مورد نیاز برای پروژه را نصب کنید.

جاوا

برای افزودن کتابخانه های سرویس گیرنده Google و سایر وابستگی های مورد نیاز به پروژه Maven خود، فایل pom.xml را در فهرست پروژه خود ویرایش کنید و وابستگی های زیر را اضافه کنید:

<dependencies>
  <!-- ... existing dependencies ... -->
  <dependency>
    <groupId>com.google.apis</groupId>
    <artifactId>google-api-services-chat</artifactId>
    <version>v1-rev20230905-2.0.0</version>
  </dependency>
  <dependency>
    <groupId>com.google.auth</groupId>
    <artifactId>google-auth-library-oauth2-http</artifactId>
    <version>1.19.0</version>
  </dependency>
  <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.10.1</version>
  </dependency>
</dependencies>

پایتون

اگر قبلاً کتابخانه های سرویس گیرنده Google را برای پایتون نصب نکرده اید، دستور زیر را در رابط خط فرمان خود اجرا کنید:

pip3 install --upgrade google-api-python-client google-auth

Node.js

برای افزودن کتابخانه های سرویس گیرنده Google به پروژه Node.js خود، به دایرکتوری پروژه خود بروید و دستور زیر را در رابط خط فرمان خود اجرا کنید:

npm install "@googleapis/chat"

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

این نمونه از کتابخانه OAuth2 for Apps Script برای تولید یک نشانه JWT برای احراز هویت حساب سرویس استفاده می کند. برای افزودن کتابخانه به پروژه Apps Script:

  1. در سمت چپ، روی ویرایشگر کلیک کنید.
  2. در سمت چپ، در کنار کتابخانه‌ها ، روی افزودن کتابخانه کلیک کنید.
  3. شناسه اسکریپت 1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF را وارد کنید.
  4. روی Look up کلیک کنید، سپس روی Add کلیک کنید.

این نمونه از سرویس Advanced Chat برای فراخوانی Google Chat API استفاده می کند. برای روشن کردن سرویس پروژه Apps Script:

  1. در سمت چپ، روی ویرایشگر کلیک کنید.
  2. در سمت چپ، در کنار خدمات ، روی افزودن سرویس کلیک کنید.
  3. Google Chat API را انتخاب کنید.
  4. در نسخه ، v1 را انتخاب کنید.
  5. روی افزودن کلیک کنید.

شما می توانید از هر زبانی که توسط کتابخانه های مشتری ما پشتیبانی می شود استفاده کنید.

مرحله 3: اسکریپتی بنویسید که از حساب سرویس برای احراز هویت با Chat API استفاده کند

کد زیر با استفاده از یک حساب سرویس با Chat API احراز هویت می‌شود، سپس پیامی را به فضای چت ارسال می‌کند:

جاوا

  1. در فهرست پروژه خود، فایل src/main/java/com/google/chat/app/authsample/App.java باز کنید.
  2. محتوای App.java را با کد زیر جایگزین کنید:

    package com.google.chat.app.authsample;
    
    import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
    import com.google.api.client.http.HttpRequestInitializer;
    import com.google.api.client.json.gson.GsonFactory;
    import com.google.api.services.chat.v1.HangoutsChat;
    import com.google.api.services.chat.v1.model.Message;
    import com.google.auth.http.HttpCredentialsAdapter;
    import com.google.auth.oauth2.GoogleCredentials;
    
    /**
     * Authenticates with Chat API using service account credentials,
     * then creates a Chat message.
     */
    public class App {
        // Specify required scopes.
        private static final String CHAT_SCOPE = "https://www.googleapis.com/auth/chat.bot";
    
        // Specify service account details.
        private static final String PRIVATE_KEY_RESOURCE_URI = "/credentials.json";
    
        public static void main( String[] args ) {
            try {
                // Run app.
                Message response = App.createChatMessage();
                // Print details about the created message.
                System.out.println(response);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        private static Message createChatMessage() throws Exception {
            // Build the Chat API client and authenticate with the service account.
            GoogleCredentials credentials = GoogleCredentials.fromStream(
                App.class.getResourceAsStream(PRIVATE_KEY_RESOURCE_URI))
                .createScoped(CHAT_SCOPE);
            HttpRequestInitializer requestInitializer = new HttpCredentialsAdapter(credentials);
            HangoutsChat chatService = new HangoutsChat.Builder(
                GoogleNetHttpTransport.newTrustedTransport(),
                GsonFactory.getDefaultInstance(),
                requestInitializer)
                .setApplicationName("auth-sample-app")
                .build();
    
            // The space to create the message in.
            //
            // Replace SPACE_NAME with a space name.
            // Obtain the space name from the spaces resource of Chat API,
            // or from a space's URL.
            String spaceName = "spaces/SPACE_NAME";
    
            // Create a Chat message.
            Message message = new Message().setText("Hello, world!");
            return chatService.spaces().messages().create(spaceName, message).execute();
        }
    }
    
  3. در کد، SPACE_NAME با نام فضایی جایگزین کنید، که می‌توانید آن را از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

  4. یک زیر شاخه جدید با نام resources در دایرکتوری پروژه خود ایجاد کنید.

  5. مطمئن شوید که فایل کلید خصوصی برای حساب سرویس شما credentials.json نام دارد و آن را در زیر شاخه resources کپی کنید.

  6. برای پیکربندی Maven برای گنجاندن فایل کلید خصوصی در بسته پروژه، فایل pom.xml را در دایرکتوری پروژه خود ویرایش کنید و پیکربندی زیر را به بخش <build> اضافه کنید:

    <build>
      <!-- ... existing configurations ... -->
      <resources>
        <resource>
          <directory>resources</directory>
        </resource>
      </resources>
    </build>
    
  7. برای پیکربندی Maven برای گنجاندن وابستگی ها در بسته پروژه و اجرای کلاس اصلی برنامه، فایل pom.xml را در فهرست پروژه خود ویرایش کنید و پیکربندی زیر را به بخش <plugins> اضافه کنید:

    <plugins>
      <!-- ... existing configurations ... -->
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <archive>
            <manifest>
              <mainClass>com.google.chat.app.authsample.App</mainClass>
            </manifest>
          </archive>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
      </plugin>
    </plugins>
    

پایتون

  1. در فهرست کاری خود، یک فایل با نام chat_app_auth.py ایجاد کنید.
  2. کد زیر را در chat_app_auth.py قرار دهید:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    creds = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=creds)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE_NAME with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE_NAME',
    
        # The message to create.
        body={'text': 'Hello, world!'}
    
    ).execute()
    
    # Prints details about the created message.
    print(result)
    
  3. در کد، SPACE_NAME با نام فضایی جایگزین کنید، که می‌توانید آن را از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید. مطمئن شوید که فایل کلید خصوصی برای حساب سرویس شما credentials.json نام دارد.

Node.js

  1. در فهرست پروژه خود، یک فایل با نام chat_app_auth.js ایجاد کنید.
  2. کد زیر را در chat_app_auth.js قرار دهید:

    const chat = require('@googleapis/chat');
    
    async function createMessage() {
      const auth = new chat.auth.GoogleAuth({
    
        // Specify service account details.
        keyFilename: 'credentials.json',
    
        // Specify required scopes.
        scopes: ['https://www.googleapis.com/auth/chat.bot']
    
      });
      const authClient = await auth.getClient();
    
      // Create the Chat API client and authenticate with the service account.
      const chatClient = await chat.chat({
        version: 'v1',
        auth: authClient
      });
    
      // Create a Chat message.
      const result = await chatClient.spaces.messages.create({
    
        // The space to create the message in.
        //
        // Replace SPACE_NAME with a space name.
        // Obtain the space name from the spaces resource of Chat API,
        // or from a space's URL.
        parent: 'spaces/SPACE_NAME',
    
        // The message to create.
        requestBody: { 'text': 'Hello, world!' }
    
      });
      return result;
    }
    
    // Execute function then print details about the created message.
    createMessage().then(console.log);
    
  3. در کد، SPACE_NAME با نام فضایی جایگزین کنید، که می‌توانید آن را از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید. مطمئن شوید که فایل کلید خصوصی برای حساب سرویس شما credentials.json نام دارد.

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

  1. در ویرایشگر Apps Script، فایل appsscript.json را ویرایش کنید و محدوده OAuth لازم برای درخواست‌های خارجی برای دریافت رمز OAuth حساب سرویس را اضافه کنید:

      "oauthScopes": [
        "https://www.googleapis.com/auth/script.external_request"
      ]
    
  2. کد زیر را در فایلی به نام ChatAppAuth.gs در پروژه Apps Script خود ذخیره کنید:

    // Specify the contents of the file credentials.json.
    const CREDENTIALS = CREDENTIALS;
    
    const SCOPE = 'https://www.googleapis.com/auth/chat.bot';
    
    // The space to create the message in.
    //
    // Replace SPACE_NAME with a space name.
    // Obtain the space name from the spaces resource of Chat API,
    // or from a space's URL.
    const PARENT = 'spaces/SPACE_NAME'
    
    /**
     * Authenticates with Chat API using app credentials, then posts a message.
     */
    function createMessageWithAppCredentials() {
      try {
        const service = getService_();
        if (!service.hasAccess()) {
          console.error(service.getLastError());
          return;
        }
    
        // Specify the message to create.
        const message = {'text': 'Hello world!'};
    
        // Call Chat API with a service account to create a message.
        const result = Chat.Spaces.Messages.create(
            message,
            PARENT,
            {},
            // Authenticate with the service account token.
            {'Authorization': 'Bearer ' + service.getAccessToken()});
    
        // Log details about the created message.
        console.log(result);
    
      } catch (err) {
        // TODO (developer) - Handle exception.
        console.log('Failed to create message with error %s', err.message);
      }
    }
    
    /**
     * Configures the OAuth library to authenticate with the service account.
     */
    function getService_() {
      return OAuth2.createService(CREDENTIALS.client_email)
          .setTokenUrl('https://oauth2.googleapis.com/token')
          .setPrivateKey(CREDENTIALS.private_key)
          .setIssuer(CREDENTIALS.client_email)
          .setSubject(CREDENTIALS.client_email)
          .setScope(SCOPE)
          .setPropertyStore(PropertiesService.getScriptProperties());
    }
    
  3. در کد، محتوای فایل credentials.json را جایگزین CREDENTIALS کنید.

  4. در کد، SPACE_NAME با نام فضایی جایگزین کنید، که می‌توانید آن را از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

مرحله 4: مثال کامل را اجرا کنید

در پوشه کاری خود، نمونه را بسازید و اجرا کنید:

جاوا

mvn compile assembly:single
java -jar target/auth-sample-app-1.0-SNAPSHOT-jar-with-dependencies.jar

پایتون

python3 chat_app_auth.py

Node.js

node chat_app_auth.js

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

فایل ChatAppAuth.gs را در Apps Script Editor باز کنید و روی Run کلیک کنید.

اسکریپت شما یک درخواست احراز هویت به Chat API ارائه می‌کند که با ارسال پیامی در فضای چت به‌عنوان برنامه چت پاسخ می‌دهد.

عیب یابی مثال

این بخش مشکلات رایجی را که ممکن است هنگام تلاش برای اجرای این نمونه با آن مواجه شوید، توضیح می دهد.

شما مجاز به استفاده از این برنامه نیستید

هنگام اجرای اسکریپت، ممکن است خطایی دریافت کنید که می گوید:

<HttpError 403 when requesting https://chat.googleapis.com/v1/spaces/{space}/messages?alt=json returned "You are not permitted to use this app". Details: "You are not permitted to use this app">

این پیام خطا به این معنی است که برنامه چت مجوز ایجاد پیام‌های چت در فضای گپ مشخص شده را ندارد.

برای رفع خطا، برنامه Chat را به فضای Chat مشخص شده در اسکریپت اضافه کنید .

سرپرست باید دامنه مجوز OAuth مورد نیاز را برای این اقدام به برنامه بدهد

هنگام اجرای اسکریپت، ممکن است خطایی دریافت کنید که می گوید:

<HttpError 403 when requesting https://chat.googleapis.com/v1/spaces/{space}?alt=json returned "The administrator must grant the app the required OAuth authorization scope for this action.". Details: "The administrator must grant the app the required OAuth authorization scope for this action.">

این پیام خطا به این معنی است که یک سرپرست Google Workspace هنوز برای برنامه Chat برای استفاده از محدوده‌های مجوزی که با نام https://www.googleapis.com/auth/chat.app.* شروع می‌شود، یک بار تأیید نکرده است.

برای رفع خطا:

  • از سرپرست Google Workspace بخواهید تا برنامه چت شما را تأیید کند . هنگام رسیدگی به این خطا در منطق برنامه Chat خود، پیامی ارسال کنید که اعلام کند برنامه Chat برای انجام عملکرد درخواستی به تأیید سرپرست نیاز دارد، شاید: To perform this action, I need approval. <https://support.google.com/a?p=chat-app-auth|Learn more>.
  • اگر روش Google Chat API از حوزه مجوز https://www.googleapis.com/auth/chat.bot پشتیبانی می‌کند که به تأیید سرپرست نیاز ندارد، به جای آن از آن استفاده کنید. برای بررسی اینکه یک روش از کدام حوزه مجوز پشتیبانی می‌کند، به مستندات مرجع Google Chat API مراجعه کنید.
  • با بررسی مستندات مرجع Chat API، بدانید که Chat API چه کارهای دیگری می تواند انجام دهد.
  • اگر از دامنه مجوز OAuth استفاده می کنید که با https://www.googleapis.com/auth/chat.app.* شروع می شود، بیاموزید که چگونه مدیران یک بار تأیید می دهند .