สร้างแอป HTTP สำหรับ Google Chat

หน้านี้อธิบายวิธีสร้างส่วนเสริมของ Google Workspace ที่ทำงานใน Google Chat โดยใช้บริการ HTTP

การเริ่มต้นอย่างรวดเร็วนี้แสดงวิธีสร้างบริการ HTTP โดยใช้บริการ Google Cloud หากต้องการสร้างแอป Chat คุณต้องเขียนและทำให้ ฟังก์ชัน Cloud Run ใช้งานได้ ซึ่งแอป Chat จะใช้ฟังก์ชันนี้เพื่อตอบกลับข้อความของผู้ใช้

สถาปัตยกรรม HTTP ช่วยให้คุณกำหนดค่า Chat เพื่อผสานรวมกับ Google Cloud หรือเซิร์ฟเวอร์ภายในองค์กรได้โดยใช้ HTTP ดังที่แสดงในแผนภาพต่อไปนี้

สถาปัตยกรรมของแอป Chat ที่ใช้บริการเว็บในเซิร์ฟเวอร์ภายในองค์กร

ในแผนภาพข้างต้น ผู้ใช้ที่โต้ตอบกับแอป Chat HTTP จะมีโฟลว์ข้อมูลดังนี้

  1. ผู้ใช้ส่งข้อความใน Chat ไปยังแอป Chat ไม่ว่าจะเป็นในข้อความส่วนตัวหรือในพื้นที่ทำงานใน Chat
  2. ระบบจะส่งคำขอ HTTP ไปยังเว็บเซิร์ฟเวอร์ ซึ่งอาจเป็นระบบคลาวด์หรือระบบภายในองค์กรที่มีตรรกะของแอป Chat
  3. ตรรกะของแอป Chat สามารถผสานรวมกับบริการ Google Workspace (เช่น ปฏิทินและชีต), บริการอื่นๆ ของ Google (เช่น Maps, YouTube และ Vertex AI) หรือบริการเว็บอื่นๆ (เช่น ระบบการจัดการโปรเจ็กต์หรือเครื่องมือออกตั๋ว) ก็ได้
  4. เว็บเซิร์ฟเวอร์จะส่งการตอบกลับ HTTP กลับไปยังบริการแอปใน Chat ใน Chat
  5. ระบบจะส่งการตอบสนองไปยังผู้ใช้
  6. แอป Chat สามารถเรียก Chat API เพื่อโพสต์ข้อความแบบไม่พร้อมกันหรือดำเนินการอื่นๆ ได้

สถาปัตยกรรมนี้มีความยืดหยุ่นในการใช้ไลบรารีและคอมโพเนนต์ที่มีอยู่ในระบบอยู่แล้ว เนื่องจากแอป Chat เหล่านี้สามารถออกแบบโดยใช้ภาษาโปรแกรมต่างๆ ได้

วัตถุประสงค์

  • ตั้งค่าสภาพแวดล้อม
  • สร้างและทำให้ฟังก์ชัน Cloud Run ใช้งานได้
  • กำหนดค่าส่วนเสริมของ Google Workspace สำหรับแอป Chat
  • ทดสอบแอป

ข้อกำหนดเบื้องต้น

ตั้งค่าสภาพแวดล้อม

ก่อนที่จะใช้ Google API คุณต้องเปิด API เหล่านั้นในโปรเจ็กต์ Google Cloud คุณสามารถเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้
  • ในคอนโซล Google Cloud ให้เปิดใช้ Cloud Build API, Cloud Functions API, Cloud Pub/Sub API, Cloud Logging API, Artifact Registry API และ Cloud Run API

    เปิดใช้ API

สร้างและทำให้ฟังก์ชัน Cloud Run ใช้งานได้

สร้างและทำให้ฟังก์ชัน Cloud Run ใช้งานได้ ซึ่งจะสร้างการ์ด Chat ที่มีชื่อที่แสดงและรูปโปรไฟล์ของผู้ส่ง เมื่อแอป Chat ได้รับข้อความ แอปจะเรียกใช้ฟังก์ชันและตอบกลับด้วยการ์ด

หากต้องการสร้างและทำให้ฟังก์ชันสำหรับแอป Chat ใช้งานได้ ให้ทำตามขั้นตอนต่อไปนี้

Node.js

  1. ในคอนโซล Google Cloud ให้ไปที่หน้า Cloud Run

    ไปที่ Cloud Run

    ตรวจสอบว่าได้เลือกโปรเจ็กต์สำหรับแอป Chat แล้ว

  2. คลิกเขียนฟังก์ชัน

  3. ในหน้าสร้างบริการ ให้ตั้งค่าฟังก์ชันดังนี้

    1. ป้อน addonchatapp ในช่องชื่อบริการ
    2. เลือกภูมิภาคในรายการภูมิภาค
    3. เลือก Node.js เวอร์ชันล่าสุดในรายการรันไทม์
    4. ในส่วนการตรวจสอบสิทธิ์ ให้เลือกกำหนดให้มีการตรวจสอบสิทธิ์
    5. คลิกสร้าง แล้วรอให้ Cloud Run สร้างบริการ คอนโซลจะเปลี่ยนเส้นทางคุณไปยังแท็บแหล่งที่มา
  4. ในแท็บแหล่งที่มา ให้ทำดังนี้

    1. ในจุดเริ่มต้น ให้ลบข้อความเริ่มต้นแล้วป้อน avatarApp
    2. แทนที่เนื้อหาของ index.js ด้วยโค้ดต่อไปนี้
    node/chat/avatar-app/index.js
    import { http } from '@google-cloud/functions-framework';
    
    // The ID of the slash command "/about".
    // You must use the same ID in the Google Chat API configuration.
    const ABOUT_COMMAND_ID = 1;
    
    /**
     * Handle requests from Google Workspace add on
     *
     * @param {Object} req Request sent by Google Chat
     * @param {Object} res Response to be sent back to Google Chat
     */
    http('avatarApp', (req, res) => {
      const chatEvent = req.body.chat;
      let message;
      if (chatEvent.appCommandPayload) {
        message = handleAppCommand(chatEvent);
      } else {
        message = handleMessage(chatEvent);
      }
      res.send({ hostAppDataAction: { chatDataAction: { createMessageAction: {
        message: message
      }}}});
    });
    
    /**
     * Responds to an APP_COMMAND event in Google Chat.
     *
     * @param {Object} event the event object from Google Chat
     * @return the response message object.
     */
    function handleAppCommand(event) {
      switch (event.appCommandPayload.appCommandMetadata.appCommandId) {
        case ABOUT_COMMAND_ID:
          return {
            text: 'The Avatar app replies to Google Chat messages.'
          };
      }
    }
    
    /**
     * Responds to a MESSAGE event in Google Chat.
     *
     * @param {Object} event the event object from Google Chat
     * @return the response message object.
     */
    function handleMessage(event) {
      // Stores the Google Chat user as a variable.
      const chatUser = event.messagePayload.message.sender;
      const displayName = chatUser.displayName;
      const avatarUrl = chatUser.avatarUrl;
      return {
        text: 'Here\'s your avatar',
        cardsV2: [{
          cardId: 'avatarCard',
          card: {
            name: 'Avatar Card',
            header: {
              title: `Hello ${displayName}!`,
            },
            sections: [{ widgets: [{
              textParagraph: { text: 'Your avatar picture: ' }
            }, {
              image: { imageUrl: avatarUrl }
            }]}]
          }
        }]
      };
    }
    1. คลิกบันทึกและทำให้ใช้งานได้อีกครั้ง

Python

  1. ในคอนโซล Google Cloud ให้ไปที่หน้า Cloud Run

    ไปที่ Cloud Run

    ตรวจสอบว่าได้เลือกโปรเจ็กต์สำหรับแอป Chat แล้ว

  2. คลิกเขียนฟังก์ชัน

  3. ในหน้าสร้างบริการ ให้ตั้งค่าฟังก์ชันดังนี้

    1. ป้อน addonchatapp ในช่องชื่อบริการ
    2. เลือกภูมิภาคในรายการภูมิภาค
    3. เลือก Python เวอร์ชันล่าสุดในรายการรันไทม์
    4. ในส่วนการตรวจสอบสิทธิ์ ให้เลือกกำหนดให้มีการตรวจสอบสิทธิ์
    5. คลิกสร้าง แล้วรอให้ Cloud Run สร้างบริการ คอนโซลจะเปลี่ยนเส้นทางคุณไปยังแท็บแหล่งที่มา
  4. ในแท็บแหล่งที่มา ให้ทำดังนี้

    1. ในจุดเริ่มต้น ให้ลบข้อความเริ่มต้นแล้วป้อน avatar_app
    2. แทนที่เนื้อหาของ main.py ด้วยโค้ดต่อไปนี้
    python/chat/avatar-app/main.py
    from typing import Any, Mapping
    
    import flask
    import functions_framework
    
    # The ID of the slash command "/about".
    # You must use the same ID in the Google Chat API configuration.
    ABOUT_COMMAND_ID = 1
    
    @functions_framework.http
    def avatar_app(req: flask.Request) -> Mapping[str, Any]:
      """Handle requests from Google Workspace add on
    
      Args:
        flask.Request req: the request sent by Google Chat
    
      Returns:
        Mapping[str, Any]: the response to be sent back to Google Chat
      """
      chat_event = req.get_json(silent=True)["chat"]
      if chat_event and "appCommandPayload" in chat_event:
        message = handle_app_command(chat_event)
      else:
        message = handle_message(chat_event)
      return { "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
          "message": message
      }}}}
    
    def handle_app_command(event: Mapping[str, Any]) -> Mapping[str, Any]:
      """Responds to an APP_COMMAND event in Google Chat.
    
      Args:
        Mapping[str, Any] event: the event object from Google Chat
    
      Returns:
        Mapping[str, Any]: the response message object.
      """
      if event["appCommandPayload"]["appCommandMetadata"]["appCommandId"] == ABOUT_COMMAND_ID:
        return {
          "text": "The Avatar app replies to Google Chat messages.",
        }
      return {}
    
    def handle_message(event: Mapping[str, Any]) -> Mapping[str, Any]:
      """Responds to a MESSAGE event in Google Chat.
    
      Args:
        Mapping[str, Any] event: the event object from Google Chat
    
      Returns:
        Mapping[str, Any]: the response message object.
      """
      # Stores the Google Chat user as a variable.
      chat_user = event["messagePayload"]["message"]["sender"]
      display_name = chat_user.get("displayName", "")
      avatar_url = chat_user.get("avatarUrl", "")
      return {
        "text": "Here's your avatar",
        "cardsV2": [{
          "cardId": "avatarCard",
          "card": {
            "name": "Avatar Card",
            "header": {
              "title": f"Hello {display_name}!"
            },
            "sections": [{ "widgets": [
              { "textParagraph": { "text": "Your avatar picture:" }},
              { "image": { "imageUrl": avatar_url }},
            ]}]
          }
        }]
      }
    1. คลิกบันทึกและทำให้ใช้งานได้อีกครั้ง

Java

  1. ในคอนโซล Google Cloud ให้ไปที่หน้า Cloud Run

    ไปที่ Cloud Run

    ตรวจสอบว่าได้เลือกโปรเจ็กต์สำหรับแอป Chat แล้ว

  2. คลิกเขียนฟังก์ชัน

  3. ในหน้าสร้างบริการ ให้ตั้งค่าฟังก์ชันดังนี้

    1. ป้อน addonchatapp ในช่องชื่อบริการ
    2. เลือกภูมิภาคในรายการภูมิภาค
    3. เลือก Java เวอร์ชันล่าสุดในรายการรันไทม์
    4. ในส่วนการตรวจสอบสิทธิ์ ให้เลือกกำหนดให้มีการตรวจสอบสิทธิ์
    5. คลิกสร้าง แล้วรอให้ Cloud Run สร้างบริการ คอนโซลจะเปลี่ยนเส้นทางคุณไปยังแท็บแหล่งที่มา
  4. ในแท็บแหล่งที่มา ให้ทำดังนี้

    1. ในจุดเริ่มต้น ให้ลบข้อความเริ่มต้นแล้วป้อน App
    2. เปลี่ยนชื่อไฟล์ Java เริ่มต้นเป็น src/main/java/com/google/chat/avatar/App.java
    3. แทนที่เนื้อหาของ App.java ด้วยโค้ดต่อไปนี้
    java/chat/avatar-app/src/main/java/com/google/chat/avatar/App.java
    package com.google.chat.avatar;
    
    import com.google.api.services.chat.v1.model.CardWithId;
    import com.google.api.services.chat.v1.model.GoogleAppsCardV1Card;
    import com.google.api.services.chat.v1.model.GoogleAppsCardV1CardHeader;
    import com.google.api.services.chat.v1.model.GoogleAppsCardV1Image;
    import com.google.api.services.chat.v1.model.GoogleAppsCardV1Section;
    import com.google.api.services.chat.v1.model.GoogleAppsCardV1TextParagraph;
    import com.google.api.services.chat.v1.model.GoogleAppsCardV1Widget;
    import com.google.api.services.chat.v1.model.Message;
    import com.google.cloud.functions.HttpFunction;
    import com.google.cloud.functions.HttpRequest;
    import com.google.cloud.functions.HttpResponse;
    import com.google.gson.Gson;
    import com.google.gson.JsonObject;
    import java.util.List;
    
    public class App implements HttpFunction {
      // The ID of the slash command "/about".
      // You must use the same ID in the Google Chat API configuration.
      private static final int ABOUT_COMMAND_ID = 1;
    
      private static final Gson gson = new Gson();
    
      /**
       * Handle requests from Google Workspace add on
       * 
       * @param request the request sent by Google Chat
       * @param response the response to be sent back to Google Chat
       */
      @Override
      public void service(HttpRequest request, HttpResponse response) throws Exception {
        JsonObject event = gson.fromJson(request.getReader(), JsonObject.class);
        JsonObject chatEvent = event.getAsJsonObject("chat");
        Message message;
        if (chatEvent.has("appCommandPayload")) {
          message = handleAppCommand(chatEvent);
        } else {
          message = handleMessage(chatEvent);
        }
        JsonObject createMessageAction = new JsonObject();
        createMessageAction.add("message", gson.fromJson(gson.toJson(message), JsonObject.class));
        JsonObject chatDataAction = new JsonObject();
        chatDataAction.add("createMessageAction", createMessageAction);
        JsonObject hostAppDataAction = new JsonObject();
        hostAppDataAction.add("chatDataAction", chatDataAction);
        JsonObject dataActions = new JsonObject();
        dataActions.add("hostAppDataAction", hostAppDataAction);
        response.getWriter().write(gson.toJson(dataActions));
      }
    
      /**
       * Handles an APP_COMMAND event in Google Chat.
       *
       * @param event the event object from Google Chat
       * @return the response message object.
       */
      private Message handleAppCommand(JsonObject event) throws Exception {
        switch (event.getAsJsonObject("appCommandPayload")
          .getAsJsonObject("appCommandMetadata").get("appCommandId").getAsInt()) {
          case ABOUT_COMMAND_ID:
            return new Message()
              .setText("The Avatar app replies to Google Chat messages.");
          default:
            return null;
        }
      }
    
      /**
       * Handles a MESSAGE event in Google Chat.
       *
       * @param event the event object from Google Chat
       * @return the response message object.
       */
      private Message handleMessage(JsonObject event) throws Exception {
        // Stores the Google Chat user as a variable.
        JsonObject chatUser = event.getAsJsonObject("messagePayload").getAsJsonObject("message").getAsJsonObject("sender");
        String displayName = chatUser.has("displayName") ? chatUser.get("displayName").getAsString() : "";
        String avatarUrl = chatUser.has("avatarUrl") ? chatUser.get("avatarUrl").getAsString() : "";
        return new Message()
          .setText("Here's your avatar")
          .setCardsV2(List.of(new CardWithId()
            .setCardId("avatarCard")
            .setCard(new GoogleAppsCardV1Card()
              .setName("Avatar Card")
              .setHeader(new GoogleAppsCardV1CardHeader()
                .setTitle(String.format("Hello %s!", displayName)))
              .setSections(List.of(new GoogleAppsCardV1Section().setWidgets(List.of(
                new GoogleAppsCardV1Widget().setTextParagraph(new GoogleAppsCardV1TextParagraph()
                  .setText("Your avatar picture:")),
                new GoogleAppsCardV1Widget()
                  .setImage(new GoogleAppsCardV1Image().setImageUrl(avatarUrl)))))))));
      }
    }
  5. แทนที่เนื้อหาของ pom.xml ด้วยโค้ดต่อไปนี้

    java/chat/avatar-app/pom.xml
    <project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.google.chat</groupId>
      <artifactId>avatar-app</artifactId>
      <version>1.0-SNAPSHOT</version>
    
      <properties>
        <maven.compiler.target>17</maven.compiler.target>
        <maven.compiler.source>17</maven.compiler.source>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>com.google.cloud.functions</groupId>
          <artifactId>functions-framework-api</artifactId>
          <version>1.1.4</version>
        </dependency>
        <dependency>
          <groupId>com.google.code.gson</groupId>
          <artifactId>gson</artifactId>
          <version>2.9.1</version>
        </dependency>
        <dependency>
          <groupId>com.google.apis</groupId>
          <artifactId>google-api-services-chat</artifactId>
          <version>v1-rev20230115-2.0.0</version>
        </dependency>
      </dependencies>
    
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
            <excludes>
              <exclude>.google/</exclude>
            </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </project>
    1. คลิกบันทึกและทำให้ใช้งานได้อีกครั้ง

หน้าข้อมูลรายละเอียดบริการ Cloud Run จะเปิดขึ้น รอให้ฟังก์ชันทำให้ใช้งานได้

กำหนดค่าส่วนเสริม

หลังจากทำให้ฟังก์ชัน Cloud Run ใช้งานได้แล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อสร้างส่วนเสริมและทำให้แอป Google Chat ใช้งานได้

  1. ในคอนโซล Google Cloud ให้ไปที่หน้า Cloud Run

    ไปที่ Cloud Run

    ตรวจสอบว่าได้เลือกโปรเจ็กต์ที่เปิดใช้ Cloud Run แล้ว

  2. คลิก addonchatapp ในรายการฟังก์ชัน

  3. ในหน้ารายละเอียดบริการ ให้คัดลอก URL ของฟังก์ชัน URL จะลงท้ายด้วย run.app

  4. ในช่องค้นหาของ Google Cloud ให้ค้นหา "Google Chat API" แล้ว คลิก Google Chat API และคลิก จัดการ

    ไปที่ Chat API

  5. คลิกการกำหนดค่า แล้วตั้งค่าแอป Google Chat ดังนี้

    1. ป้อน Add-on Chat app ในชื่อแอป
    2. ป้อน https://developers.google.com/workspace/add-ons/images/quickstart-app-avatar.pngใน URL ของรูปโปรไฟล์
    3. ป้อน Add-on Chat app ใน คำอธิบาย
    4. เลือกเข้าร่วมพื้นที่ทำงานและการสนทนากลุ่ม ในส่วนฟังก์ชันการทำงาน
    5. เลือก URL ปลายทาง HTTP ในส่วนการตั้งค่าการเชื่อมต่อ
    6. ในส่วนทริกเกอร์ ให้เลือกใช้ URL ปลายทาง HTTP ทั่วไปสำหรับ ทริกเกอร์ทั้งหมด แล้ววาง URL สำหรับทริกเกอร์ฟังก์ชัน Cloud Run ลงใน ช่อง
    7. ในส่วนระดับการเข้าถึง ให้เลือก ทำให้แอป Google Chat นี้พร้อมใช้งานสำหรับบุคคลและ กลุ่มที่เฉพาะเจาะจง ในโดเมนของคุณ แล้วป้อนอีเมล
    8. ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดลงใน Logging
  6. คลิกบันทึก

  7. คัดลอกอีเมลบัญชีบริการ ในส่วนการตั้งค่าการเชื่อมต่อ คุณต้องใช้อีเมลนี้เมื่อให้สิทธิ์ส่วนเสริมในการเรียกใช้ฟังก์ชัน

จากนั้นให้สิทธิ์แอป Chat ในการเรียกใช้ฟังก์ชัน Cloud Run

ให้สิทธิ์ Google Chat ในการเรียกใช้ฟังก์ชัน

หากต้องการให้สิทธิ์ส่วนเสริมของ Google Workspace ในการเรียกใช้ฟังก์ชัน ให้เพิ่มบัญชีบริการส่วนเสริมของ Google Workspace ที่มีบทบาท Cloud Run Service Invoker

  1. ในคอนโซล Google Cloud ให้ไปที่หน้า Cloud Run

    ไปที่ Cloud Run

  2. ในรายการบริการ Cloud Run ให้เลือกช่องทำเครื่องหมายข้างฟังก์ชันที่รับ (อย่าคลิกฟังก์ชันเอง)

  3. คลิกสิทธิ์ แผงสิทธิ์ จะเปิดขึ้น

  4. คลิกเพิ่มผู้ใช้หลัก

  5. ในส่วนผู้ใช้หลักรายใหม่ ให้ป้อนอีเมลของบัญชีบริการส่วนเสริมของ Google Workspace ที่เชื่อมโยงกับแอป Chat

    อีเมลบัญชีบริการจะอยู่ในหน้าการกำหนดค่า Chat API ในส่วนการตั้งค่าการเชื่อมต่อ > URL ปลายทาง HTTP > อีเมลบัญชีบริการ:

    ไปที่การกำหนดค่า Chat API

  6. ในส่วนเลือกบทบาท ให้เลือก Cloud Run > Cloud Run Invoker

  7. คลิกบันทึก

แอป Chat พร้อมรับและตอบกลับข้อความใน Chat แล้ว

ทดสอบแอป Chat

หากต้องการทดสอบแอป Chat ให้เปิดพื้นที่ทำงานข้อความส่วนตัวที่มีแอป Chat แล้วส่งข้อความ

  1. เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณ ระบุไว้เมื่อเพิ่มตัวเองเป็นผู้ทดสอบที่เชื่อถือได้

    ไปที่ Google Chat

  2. คลิก แชทใหม่
  3. ในช่องเพิ่มบุคคลอย่างน้อย 1 คน ให้พิมพ์ชื่อแอป Chat
  4. เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัว จะเปิดขึ้น

  5. ในข้อความส่วนตัวใหม่ที่มีแอป ให้พิมพ์ Hello แล้วกด enter

ข้อความของแอป Chat จะมีการ์ดที่แสดง ชื่อและรูปโปรไฟล์ของผู้ส่ง ดังที่แสดงในรูปภาพต่อไปนี้

แอปแชทตอบกลับด้วยการ์ดที่มีชื่อที่แสดงและรูปโปรไฟล์ของผู้ส่ง
รูปภาพ

หากต้องการเพิ่มผู้ทดสอบที่เชื่อถือได้และดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบฟีเจอร์แบบอินเทอร์แอกทีฟ โปรดดู ทดสอบฟีเจอร์แบบอินเทอร์แอกทีฟสำหรับ แอป Google Chat

แก้ปัญหา

เมื่อแอปหรือ การ์ด Google Chat แสดงข้อผิดพลาด อินเทอร์เฟซ Chat จะแสดงข้อความว่า "เกิดข้อผิดพลาด" หรือ "ไม่สามารถดำเนินการตามคำขอของคุณ" บางครั้ง UI ของ Chat จะไม่แสดงข้อความแสดงข้อผิดพลาด แต่แอปหรือ การ์ด Chat จะแสดงผลลัพธ์ที่ไม่คาดคิด เช่น ข้อความการ์ดอาจไม่ ปรากฏขึ้น

แม้ว่าข้อความแสดงข้อผิดพลาดอาจไม่แสดงใน UI ของ Chat ข้อความแสดงข้อผิดพลาดและข้อมูลบันทึกที่อธิบายข้อผิดพลาดจะพร้อมให้คุณใช้งานเพื่อช่วยแก้ไขข้อผิดพลาด เมื่อเปิดการบันทึกข้อผิดพลาดสำหรับแอป Chat หากต้องการความช่วยเหลือในการดู แก้จุดบกพร่อง และแก้ไขข้อผิดพลาด โปรดดู แก้ปัญหาและแก้ไขข้อผิดพลาดของ Google Chat

ล้างข้อมูล

เราขอแนะนำให้คุณลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์เพื่อหลีกเลี่ยงการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับ ทรัพยากรที่ใช้ในบทแนะนำนี้

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร.

    ไปที่ Resource Manager

  2. ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิก ลบ .
  3. ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิด เพื่อลบ โปรเจ็กต์