В этом руководстве объясняется, как использовать метод create() ресурса Membership API Google Chat для приглашения или добавления пользователя, группы Google или приложения Chat в пространство, также известный как создание членства. При создании членства, если у указанного участника отключена политика автоматического принятия приглашений, то он получает приглашение и должен принять приглашение в пространство, прежде чем присоединиться. В противном случае, создание членства добавляет участника непосредственно в указанное пространство.
Если вы являетесь администратором Google Workspace, вы можете добавлять пользователей, группы Google или приложения чата в любое пространство вашей организации Google Workspace.
Ресурс Membership показывает, приглашен ли пользователь (человек или приложение Google Chat) в данное пространство, является ли он его частью или отсутствует.
Предварительные требования
Node.js
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Node.js Cloud Client .
- Создайте учетные данные доступа в зависимости от того, как вы хотите аутентифицироваться в запросе к Google Chat API:
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
credentials.jsonв локальной директории. - Для аутентификации в приложении «Чат» создайте учетные данные сервисной учетной записи и сохраните их в JSON-файле с именем
credentials.json.
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
Python
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Python Cloud Client .
- Создайте учетные данные доступа в зависимости от того, как вы хотите аутентифицироваться в запросе к Google Chat API:
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
credentials.jsonв локальной директории. - Для аутентификации в приложении «Чат» создайте учетные данные сервисной учетной записи и сохраните их в JSON-файле с именем
credentials.json.
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
Java
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Java Cloud Client Library .
- Создайте учетные данные доступа в зависимости от того, как вы хотите аутентифицироваться в запросе к Google Chat API:
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
credentials.jsonв локальной директории. - Для аутентификации в приложении «Чат» создайте учетные данные сервисной учетной записи и сохраните их в JSON-файле с именем
credentials.json.
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
Apps Script
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Создайте автономный проект Apps Script и включите расширенную службу чата .
- В этом руководстве необходимо использовать либо аутентификацию пользователя, либо аутентификацию приложения . Для аутентификации в качестве приложения «Чат» создайте учетные данные сервисной учетной записи. Инструкции см. в разделе «Аутентификация и авторизация в качестве приложения Google Chat» .
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
Пригласите или добавьте пользователя в пространство в качестве пользователя.
Чтобы пригласить или добавить пользователя в пространство с аутентификацией , передайте в запросе следующее:
- Укажите область авторизации
chat.memberships. - Вызовите метод
CreateMembership(). - Передайте
parentв качестве имени ресурса пространства, в котором необходимо создать членство. - Передайте
membershipкак экземпляр классаMembership, указав в полеmemberследующие параметры:- В поле
typeустановлено значениеHUMAN. - В поле
nameукажитеusers/{user}где{user}— это человек, которого вы хотите добавить в это пространство. Чтобы указать пользователя чата , замените{user}на любое из следующих значений:- Идентификатор пользователя в API People. Например, если
resourceNameпользователя в API People —people/123456789, то используйте значениеusers/123456789. - Идентификатор пользователя в API каталога.
- Адрес электронной почты пользователя. Например,
users/222larabrown@gmail.comилиusers/larabrown@cymbalgroup.com. Если пользователь использует учетную запись Google или принадлежит к другой организации Google Workspace, необходимо использовать его адрес электронной почты.
- Идентификатор пользователя в API People. Например, если
- В поле
В следующем примере пользователь добавляется в пространство с использованием аутентификации :
Node.js
Python
Java
Apps Script
Для запуска примера замените следующее:
-
SPACE_NAME: идентификатор изnameпространства. Вы можете получить идентификатор, вызвав методListSpaces()или из URL-адреса пространства. -
USER_NAME: идентификатор пользователя.
API чата возвращает экземпляр объекта Membership , в котором подробно описывается созданное членство пользователя.
Пригласите или добавьте группу Google в пространство.
Чтобы пригласить или добавить группу Google в пространство с аутентификацией пользователя ( аутентификация приложения не поддерживает приглашение или добавление группы Google в пространство), передайте в запросе следующее:
- Укажите область авторизации
chat.memberships. - Вызовите метод
CreateMembership(). - Передайте
parentв качестве имени ресурса пространства, в котором необходимо создать членство. - Передайте
membershipв качестве экземпляра классаMembership, указав в полеgroupMembernamegroups/{group}, где{group}— это идентификатор группы, для которой вы хотите создать членство. Идентификатор группы можно получить с помощью Cloud Identity API .
Группы Google нельзя добавить в групповой чат или личные сообщения, только в именованное пространство.
В следующем примере группа добавляется в именованное пространство с аутентификацией пользователей:
Node.js
Python
Java
Apps Script
Для запуска примера замените следующее:
-
SPACE_NAME: идентификатор изnameпространства. Вы можете получить идентификатор, вызвав методListSpaces()или из URL-адреса пространства. -
GROUP_NAME: идентификатор группы.
API чата возвращает экземпляр объекта Membership , в котором подробно описывается созданное членство пользователя.
Добавить приложение для чата в пространство
Приложение для чата не может добавить другое приложение в качестве участника в пространство. Чтобы добавить приложение для чата в пространство или отправить личное сообщение двум пользователям, передайте в запросе следующие данные с аутентификацией пользователя ( аутентификация приложения не поддерживает приглашение или добавление приложения для чата в пространство):
- Укажите область авторизации
chat.memberships.app. - Вызовите метод
CreateMembership(). - Передайте
parentв качестве имени ресурса пространства, в котором необходимо создать членство. - Передайте
membershipкак экземпляр классаMembership, указав в полеmemberследующие параметры:- В поле
typeустановлено значениеBOT. - В поле
nameустановлено значениеusers/app; это псевдоним, представляющий приложение, вызывающее API чата.
- В поле
В следующем примере приложение «Чат» добавляется в пространство:
Node.js
Python
Java
Apps Script
Для запуска примера замените SPACE_NAME на идентификатор из name пространства. Вы можете получить идентификатор, вызвав метод ListSpaces() или из URL-адреса пространства.
API чата возвращает экземпляр объекта Membership , в котором подробно описывается созданное членство пользователя.
Пригласите или добавьте пользователя в пространство с помощью приложения для чата.
Для аутентификации приложения требуется однократное подтверждение администратора .
Чтобы пригласить или добавить пользователя в пространство с аутентификацией через приложение , передайте в запросе следующее:
- Укажите область авторизации
chat.app.memberships. - Вызовите метод
createдля ресурсаmembership. - В качестве
parentресурса укажите имя пространства, в котором будет создано членство. - Установите
memberравнымusers/{user}, где{user}— это человек, для которого вы хотите создать членство, и он может быть либо:- Идентификатор пользователя в People API. Например, если
resourceNameпользователя в People API —people/123456789, то установитеmembership.member.nameравнымusers/123456789. - Идентификатор пользователя в API каталога.
- Адрес электронной почты пользователя. Например,
users/222larabrown@gmail.comилиusers/larabrown@cymbalgroup.com. Если пользователь использует учетную запись Google или принадлежит к другой организации Google Workspace, необходимо использовать его адрес электронной почты.
- Идентификатор пользователя в People API. Например, если
Напишите скрипт, который вызывает API чата.
В следующем примере пользователь добавляется в пространство с использованием аутентификации через приложение :
Python
- В рабочей директории создайте файл с именем
chat_membership_app_create.py. Включите следующий код в
chat_membership_app_create.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.memberships"] def main(): ''' Authenticates with Chat API using app authentication, then adds a user to a Chat space by creating a membership. ''' # 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().members().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Specify which user the membership is for. body = { 'member': { 'name':'users/USER', 'type': 'HUMAN' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()В коде замените следующее:
SPACE: имя пространства, которое можно получить с помощью методаspaces.listв API чата или из URL-адреса пространства.USER: идентификатор пользователя.
В рабочей директории соберите и запустите пример:
python3 chat_membership_app_create.py
Добавляйте пользователей или группы Google в пространство в качестве администратора Google Workspace.
Если вы являетесь администратором Google Workspace, вы можете вызвать метод create() для добавления пользователей, групп Google или приложений чата в любое пространство вашей организации Google Workspace.
Чтобы вызвать этот метод от имени администратора Google Workspace, выполните следующие действия:
- Вызовите метод, используя аутентификацию пользователя, и укажите область авторизации , которая поддерживает вызов метода с правами администратора .
- В вашем запросе укажите параметр
useAdminAccessсо значениемtrue.
Для получения дополнительной информации и примеров см. раздел «Управление пространствами Google Chat в качестве администратора Google Workspace» .
Ограничения и соображения
- При использовании аутентификации приложения , чат-приложение может приглашать или добавлять пользователей, но не группы Google или чат-приложения. Чтобы добавить себя, чат-приложение должно использовать аутентификацию пользователя с областью авторизации
chat.memberships.
Связанные темы
- Получите подробную информацию о членстве пользователя или приложения для чата .
- Список участников в пространстве .
- Обновить членство пользователя в пространстве Google Chat .
- Удалить пользователя или приложение чата из пространства .