В этом руководстве объясняется, как использовать метод patch() ресурса Space в Google Chat API для обновления пространства. Обновление пространства позволяет изменить его атрибуты, такие как отображаемое пользователем имя, описание и правила.
Если вы являетесь администратором Google Workspace, вы можете вызвать метод patch() для обновления любого существующего пространства в вашей организации Google Workspace.
Ресурс Space представляет собой место, где люди и приложения для чата могут отправлять сообщения, обмениваться файлами и сотрудничать. Существует несколько типов пространств:
- Личные сообщения (DM) — это переписка между двумя пользователями или между пользователем и приложением для чата.
- Групповые чаты — это беседы между тремя или более пользователями в чат-приложениях.
- Именованные пространства — это постоянно существующие места, где люди отправляют сообщения, обмениваются файлами и сотрудничают.
Предварительные требования
Node.js
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Node.js Cloud Client .
- Создайте учетные данные клиента OAuth для настольного приложения. Чтобы запустить пример из этого руководства, сохраните учетные данные в виде JSON-файла с именем
credentials.jsonв локальной директории.
- Выберите область авторизации , которая поддерживает аутентификацию пользователей.
- Пространство Google Chat. Чтобы создать его с помощью API Google Chat, см. раздел «Создание пространства» . Чтобы создать пространство в самом чате, посетите документацию в Справочном центре .
Python
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Python Cloud Client .
- Создайте учетные данные клиента OAuth для настольного приложения. Чтобы запустить пример из этого руководства, сохраните учетные данные в виде JSON-файла с именем
credentials.jsonв локальной директории.
- Выберите область авторизации , которая поддерживает аутентификацию пользователей.
- Пространство Google Chat. Чтобы создать его с помощью API Google Chat, см. раздел «Создание пространства» . Чтобы создать пространство в самом чате, посетите документацию в Справочном центре .
Java
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Java Cloud Client Library .
- Создайте учетные данные клиента OAuth для настольного приложения. Чтобы запустить пример из этого руководства, сохраните учетные данные в виде JSON-файла с именем
credentials.jsonв локальной директории.
- Выберите область авторизации , которая поддерживает аутентификацию пользователей.
- Пространство Google Chat. Чтобы создать его с помощью API Google Chat, см. раздел «Создание пространства» . Чтобы создать пространство в самом чате, посетите документацию в Справочном центре .
Apps Script
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Создайте автономный проект Apps Script и включите расширенную службу чата .
- Выберите область авторизации , которая поддерживает аутентификацию пользователей.
- Пространство Google Chat. Чтобы создать его с помощью API Google Chat, см. раздел «Создание пространства» . Чтобы создать пространство в самом чате, посетите документацию в Справочном центре .
Обновить пространство от имени пользователя
Чтобы обновить существующее пространство в Google Chat с аутентификацией пользователя , передайте в запросе следующее:
- Укажите область авторизации
chat.spaces. - Вызовите метод
UpdateSpace(). В запросе укажите полеnameпространства, полеupdateMaskс одним или несколькими полями для обновления, а такжеbodyс обновленной информацией о пространстве.
Вы можете обновлять такие параметры, как отображаемое имя, тип пространства, состояние истории и многое другое. Чтобы увидеть все поля, которые можно обновлять, см. справочную документацию .
Вот как обновить поле displayName в существующем пространстве:
Node.js
Python
Java
Apps Script
To run this sample, replace SPACE_NAME with the ID from the space's name field. You can obtain the ID by calling the ListSpaces() method or from the space's URL.
API Google Chat возвращает экземпляр Space , отражающий обновления.
Обновить пространство в качестве администратора Google Workspace.
Если вы являетесь администратором Google Workspace, вы можете вызвать метод UpdateSpace() для обновления любого пространства в вашей организации Google Workspace.
Чтобы вызвать этот метод от имени администратора Google Workspace, выполните следующие действия:
- Вызовите метод, используя аутентификацию пользователя, и укажите область авторизации , которая поддерживает вызов метода с правами администратора .
- В вашем запросе укажите параметр
useAdminAccessсо значениемtrue.
Для получения дополнительной информации и примеров см. раздел «Управление пространствами Google Chat в качестве администратора Google Workspace» .
Обновите пространство как приложение для чата.
Для аутентификации приложения требуется однократное подтверждение администратора .
Чтобы обновить существующее пространство в Google Chat с использованием аутентификации приложения , передайте в запросе следующее:
- Укажите область авторизации
chat.app.spaces. При использовании аутентификации приложения вы можете обновлять только пространства, созданные приложениями чата. - Вызовите метод
patchдля ресурсаSpace. В запросе укажите полеnameпространства, полеupdateMaskс одним или несколькими полями для обновления, а такжеbodyс обновленной информацией о пространстве.
Вы можете обновлять такие параметры, как отображаемое имя, тип пространства, состояние истории, настройки разрешений и многое другое. Чтобы увидеть все поля, которые можно обновить, см. справочную документацию .
Напишите скрипт, который вызывает API чата.
Вот как обновить поле spaceDetails в существующем пространстве:
Python
- В рабочей директории создайте файл с именем
chat_space_update_app.py. Включите следующий код в
chat_space_update_app.py:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.spaces"] def main(): ''' Authenticates with Chat API using app authentication, then updates the specified space description and guidelines. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().patch( # The space to update, and the updated space details. # # Replace {space} with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE', updateMask='spaceDetails', body={ 'spaceDetails': { 'description': 'This description was updated with Chat API!', 'guidelines': 'These guidelines were updated with Chat API!' } } ).execute() # Prints details about the updated space. print(result) if __name__ == '__main__': main()В коде замените следующее:
-
SPACEэто имя пространства, которое можно получить из методаspaces.listв Chat API или из URL-адреса пространства.
-
В рабочей директории соберите и запустите пример:
python3 chat_space_update_app.py
API Google Chat возвращает экземпляр ресурса Space , отражающий обновления.
Ограничения и соображения
- При использовании аутентификации в приложениях , чат-приложения:
- Изменять
predefinedPermissionSettingsилиpermissionSettingsможно только в созданных ими пространствах. - Не удается обновить
accessSettings.audience.
- Изменять
Связанные темы
- Получите подробную информацию о помещении .
- Пространства списка .
- Удалите пробел .
- Оборудуйте пространство .
- Найдите место для личных сообщений .
- Сделайте пространство доступным для конкретных пользователей .