บริการ Chat ขั้นสูง
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
บริการแชทขั้นสูงช่วยให้คุณใช้ Google Chat API ใน Apps Script ได้
API นี้ช่วยให้สคริปต์ค้นหา สร้าง และแก้ไข
พื้นที่ทำงาน Chat เพิ่มหรือนำสมาชิกออกจากพื้นที่ทำงาน และอ่านหรือโพสต์
ข้อความที่มีข้อความ การ์ด ไฟล์แนบ และรีแอ็กชันได้
ข้อกำหนดเบื้องต้น
ข้อมูลอ้างอิง
ดูข้อมูลเพิ่มเติมเกี่ยวกับบริการนี้ได้ในเอกสารอ้างอิง Chat API
เช่นเดียวกับบริการขั้นสูงทั้งหมดใน Apps Script
บริการ Chat จะใช้ออบเจ็กต์ เมธอด และพารามิเตอร์เดียวกันกับ
API สาธารณะ
โค้ดตัวอย่าง
ตัวอย่างเหล่านี้แสดงวิธีดำเนินการทั่วไปของ Google Chat API โดยใช้บริการขั้นสูง
โพสต์ข้อความด้วยข้อมูลเข้าสู่ระบบของผู้ใช้
ตัวอย่างต่อไปนี้แสดงวิธีโพสต์ข้อความไปยังพื้นที่ทำงาน Chat ในนามของผู้ใช้
เพิ่มขอบเขตการให้สิทธิ์ chat.messages.create
ลงในไฟล์ appsscript.json
ของโปรเจ็กต์ Apps Script
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
เพิ่มฟังก์ชันเช่นฟังก์ชันนี้ลงในโค้ดของโปรเจ็กต์ Apps Script
โพสต์ข้อความพร้อมข้อมูลเข้าสู่ระบบของแอป
ตัวอย่างต่อไปนี้แสดงวิธีโพสต์ข้อความไปยัง
พื้นที่ใน Chat ในนามของแอป การใช้บริการ Chat ขั้นสูงกับบัญชีบริการไม่จำเป็นต้อง
ระบุขอบเขตการให้สิทธิ์ใน appsscript.json
โปรดดูรายละเอียดเกี่ยวกับการตรวจสอบสิทธิ์ด้วยบัญชีบริการที่หัวข้อตรวจสอบสิทธิ์ในฐานะแอป Google Chat
รับพื้นที่ทำงาน
ตัวอย่างต่อไปนี้แสดงวิธีรับข้อมูลเกี่ยวกับพื้นที่ทำงานของ Chat
เพิ่มขอบเขตการให้สิทธิ์ chat.spaces.readonly
ลงในไฟล์ appsscript.json
ของโปรเจ็กต์ Apps Script
"oauthScopes": [
"https://www.googleapis.com/auth/chat.spaces.readonly"
]
เพิ่มฟังก์ชันเช่นฟังก์ชันนี้ลงในโค้ดของโปรเจ็กต์ Apps Script
สร้างพื้นที่ทำงาน
ตัวอย่างต่อไปนี้แสดงวิธีสร้างพื้นที่ใน Chat
เพิ่มขอบเขตการให้สิทธิ์ chat.spaces.create
ลงในไฟล์ appsscript.json
ของโปรเจ็กต์ Apps Script
"oauthScopes": [
"https://www.googleapis.com/auth/chat.spaces.create"
]
เพิ่มฟังก์ชันเช่นฟังก์ชันนี้ลงในโค้ดของโปรเจ็กต์ Apps Script
แสดงรายการการเป็นสมาชิก
ตัวอย่างต่อไปนี้แสดงวิธีแสดงรายชื่อสมาชิกทั้งหมดในพื้นที่ทำงาน Chat
เพิ่มขอบเขตการให้สิทธิ์ chat.memberships.readonly
ลงในไฟล์ appsscript.json
ของโปรเจ็กต์ Apps Script
"oauthScopes": [
"https://www.googleapis.com/auth/chat.memberships.readonly"
]
เพิ่มฟังก์ชันเช่นฟังก์ชันนี้ลงในโค้ดของโปรเจ็กต์ Apps Script
แก้ปัญหา
หากคุณพบ Error 400: invalid_scope
พร้อมข้อความแสดงข้อผิดพลาด
Some requested scopes cannot be shown
แสดงว่าคุณยังไม่ได้ระบุขอบเขตการให้สิทธิ์ใดๆ ในไฟล์ appsscript.json
ของโปรเจ็กต์ Apps Script ในกรณีส่วนใหญ่ Apps Script จะกำหนดขอบเขตที่สคริปต์ต้องการโดยอัตโนมัติ
แต่เมื่อใช้บริการขั้นสูงของ Chat คุณต้องเพิ่ม
ขอบเขตการให้สิทธิ์ที่สคริปต์ใช้ลงในไฟล์ Manifest ของโปรเจ็กต์ Apps Script ด้วยตนเอง ดูการตั้งค่าขอบเขตที่ชัดเจน
หากต้องการแก้ไขข้อผิดพลาด ให้เพิ่มขอบเขตการให้สิทธิ์ที่เหมาะสม
ลงในไฟล์ appsscript.json
ของโปรเจ็กต์ Apps Script ซึ่งเป็นส่วนหนึ่งของ
อาร์เรย์ oauthScopes
เช่น หากต้องการเรียกใช้เมธอด
spaces.messages.create
ให้เพิ่มข้อมูลต่อไปนี้
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
ข้อจำกัดและข้อควรพิจารณา
บริการแชทขั้นสูงไม่รองรับรายการต่อไปนี้
หากต้องการดาวน์โหลดไฟล์แนบของข้อความหรือเรียกใช้เมธอดตัวอย่างสำหรับนักพัฒนาแอป ให้ใช้
UrlFetchApp
แทน
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-31 UTC
[null,null,["อัปเดตล่าสุด 2025-08-31 UTC"],[[["\u003cp\u003eThe Advanced Chat service enables Apps Script to interact with the Google Chat API, allowing scripts to manage spaces, members, and messages.\u003c/p\u003e\n"],["\u003cp\u003eUtilizing this service requires setting up a Google Chat app in the Google Cloud console and configuring proper authentication (user or app).\u003c/p\u003e\n"],["\u003cp\u003eSample code snippets demonstrate common actions like posting messages and managing spaces using user or app credentials.\u003c/p\u003e\n"],["\u003cp\u003eThe service mirrors the Chat API's objects and methods but has limitations, such as not supporting media downloads or Developer Preview methods.\u003c/p\u003e\n"],["\u003cp\u003eTroubleshooting steps and workarounds are provided for potential issues like scope errors.\u003c/p\u003e\n"]]],[],null,["# Advanced Chat Service\n\nThe Advanced Chat service lets you use the\n[Google Chat API](/chat/api/guides) in\nApps Script. This API allows scripts to find, create, and modify\nChat spaces, add or remove members to spaces, and read or post\nmessages with text, cards, attachments, and reactions.\n\nPrerequisites\n-------------\n\n- An Apps Script Google Chat app configured on the Chat API configuration page in the Google Cloud console. The app's Apps Script project must use a standard Google Cloud project instead of the default one created automatically for Apps Script projects. To create a compatible Google Chat app, see [Build a Google Chat app with Google Apps Script](/workspace/add-ons/chat/quickstart-apps-script).\n- Authentication configured for the Chat app. Performing an action on behalf of a user requires [user authentication](/chat/api/guides/auth/users). Performing an action as the Chat app requires [app authentication with a service account](/chat/api/guides/auth/service-accounts). To check which form of authentication a Chat API method supports, see [Types of required authentication for Google Chat API calls](/chat/api/guides/auth#asynchronous-chat-calls).\n\n| **Note:** This is an advanced service that you must [turn on before use](/apps-script/guides/services/advanced).\n\nReference\n---------\n\nFor more information about this service, see the\n[Chat API reference documentation](/chat/api/reference/rest).\nLike all advanced services in Apps Script, the\nChat service uses the same objects, methods, and parameters as\nthe public API.\n\nSample code\n-----------\n\nThese samples show you how to perform common\n[Google Chat API](/chat/api/guides)\nactions using the advanced service.\n\n### Post a message with user credentials\n\nThe following example demonstrates how to post a message to a\nChat space on behalf of the user.\n\n1. Add the `chat.messages.create` authorization scope to the\n Apps Script project's `appsscript.json` file:\n\n \"oauthScopes\": [\n \"https://www.googleapis.com/auth/chat.messages.create\"\n ]\n\n2. Add a function like this one to the Apps Script project's\n code:\n\n advanced/chat.gs \n [View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/chat.gs) \n\n ```javascript\n /**\n * Posts a new message to the specified space on behalf of the user.\n * @param {string} spaceName The resource name of the space.\n */\n function postMessageWithUserCredentials(spaceName) {\n try {\n const message = {'text': 'Hello world!'};\n Chat.Spaces.Messages.create(message, spaceName);\n } catch (err) {\n // TODO (developer) - Handle exception\n console.log('Failed to create message with error %s', err.message);\n }\n }\n ```\n\n### Post a message with app credentials\n\nThe following example demonstrates how to post a message to a\nChat space on behalf of the app. Using the advanced\nChat service with a service account doesn't require you to\nspecify authorization scopes in `appsscript.json`. For details about\nauthentication with service accounts, see\n[Authenticate as a Google Chat app](/chat/api/guides/auth/service-accounts). \nadvanced/chat.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/chat.gs) \n\n```javascript\n/**\n * Posts a new message to the specified space on behalf of the app.\n * @param {string} spaceName The resource name of the space.\n */\nfunction postMessageWithAppCredentials(spaceName) {\n try {\n // See https://developers.google.com/chat/api/guides/auth/service-accounts\n // for details on how to obtain a service account OAuth token.\n const appToken = getToken_();\n const message = {'text': 'Hello world!'};\n Chat.Spaces.Messages.create(\n message,\n spaceName,\n {},\n // Authenticate with the service account token.\n {'Authorization': 'Bearer ' + appToken});\n } catch (err) {\n // TODO (developer) - Handle exception\n console.log('Failed to create message with error %s', err.message);\n }\n}\n```\n\n### Get a space\n\nThe following example demonstrates how to get information about a\nChat space.\n\n1. Add the `chat.spaces.readonly` authorization scope to the\n Apps Script project's `appsscript.json` file:\n\n \"oauthScopes\": [\n \"https://www.googleapis.com/auth/chat.spaces.readonly\"\n ]\n\n2. Add a function like this one to the Apps Script project's\n code:\n\n advanced/chat.gs \n [View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/chat.gs) \n\n ```javascript\n /**\n * Gets information about a Chat space.\n * @param {string} spaceName The resource name of the space.\n */\n function getSpace(spaceName) {\n try {\n const space = Chat.Spaces.get(spaceName);\n console.log('Space display name: %s', space.displayName);\n console.log('Space type: %s', space.spaceType);\n } catch (err) {\n // TODO (developer) - Handle exception\n console.log('Failed to get space with error %s', err.message);\n }\n }\n ```\n\n### Create a space\n\nThe following example demonstrates how to create a Chat space.\n\n1. Add the `chat.spaces.create` authorization scope to the\n Apps Script project's `appsscript.json` file:\n\n \"oauthScopes\": [\n \"https://www.googleapis.com/auth/chat.spaces.create\"\n ]\n\n2. Add a function like this one to the Apps Script project's\n code:\n\n advanced/chat.gs \n [View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/chat.gs) \n\n ```javascript\n /**\n * Creates a new Chat space.\n */\n function createSpace() {\n try {\n const space = {'displayName': 'New Space', 'spaceType': 'SPACE'};\n Chat.Spaces.create(space);\n } catch (err) {\n // TODO (developer) - Handle exception\n console.log('Failed to create space with error %s', err.message);\n }\n }\n ```\n\n### List memberships\n\nThe following example demonstrates how to list all the members of a\nChat space.\n\n1. Add the `chat.memberships.readonly` authorization scope to the\n Apps Script project's `appsscript.json` file:\n\n \"oauthScopes\": [\n \"https://www.googleapis.com/auth/chat.memberships.readonly\"\n ]\n\n2. Add a function like this one to the Apps Script project's\n code:\n\n advanced/chat.gs \n [View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/chat.gs) \n\n ```javascript\n /**\n * Lists all the members of a Chat space.\n * @param {string} spaceName The resource name of the space.\n */\n function listMemberships(spaceName) {\n let response;\n let pageToken = null;\n try {\n do {\n response = Chat.Spaces.Members.list(spaceName, {\n pageSize: 10,\n pageToken: pageToken\n });\n if (!response.memberships || response.memberships.length === 0) {\n pageToken = response.nextPageToken;\n continue;\n }\n response.memberships.forEach((membership) =\u003e console.log(\n 'Member resource name: %s (type: %s)',\n membership.name,\n membership.member.type));\n pageToken = response.nextPageToken;\n } while (pageToken);\n } catch (err) {\n // TODO (developer) - Handle exception\n console.log('Failed with error %s', err.message);\n }\n }\n ```\n\nTroubleshoot\n------------\n\nIf you encounter `Error 400: invalid_scope` with the error message\n`Some requested scopes cannot be shown`,\nit means you haven't specified any authorization scopes in the\nApps Script project's `appsscript.json` file. In most cases,\nApps Script automatically determines what scopes a script needs,\nbut when you use the Chat advanced service, you must manually add\nthe authorization scopes that your script uses to your\nApps Script project's manifest file. See\n[Setting explicit scopes](/apps-script/concepts/scopes#setting_explicit_scopes).\n\nTo resolve the error, add the appropriate authorization scopes\nto the Apps Script project's `appsscript.json` file as part of\nthe `oauthScopes` array. For example, to call the\n[`spaces.messages.create`](/chat/api/reference/rest/v1/spaces.messages/create)\nmethod, add the following: \n\n \"oauthScopes\": [\n \"https://www.googleapis.com/auth/chat.messages.create\"\n ]\n\nLimits and considerations\n-------------------------\n\nThe Advanced Chat service doesn't support:\n\n- The Chat API method [`media.download`](/chat/api/reference/rest/v1/media/download).\n- Chat API methods available in [Developer Preview](/workspace/preview)\n\nTo download a message attachment or call a developer preview method, use\n[`UrlFetchApp`](/apps-script/reference/url-fetch/url-fetch-app) instead."]]