В этом руководстве объясняется, как использовать метод create()
ресурса Membership
API Google Chat для приглашения или добавления пользователя, группы Google или приложения Chat в пространство, что также называется созданием членства. Если при создании членства у указанного участника отключена политика автоматического принятия, он получает приглашение и должен принять приглашение перед присоединением. В противном случае создание членства добавляет участника непосредственно в указанное пространство.
Если вы являетесь администратором Google Workspace, вы можете добавлять пользователей, группы Google или приложения чата в любое пространство в вашей организации Google Workspace.
Ресурс Membership
показывает, приглашен ли пользователь-человек или приложение Google Chat в пространство, является его частью или отсутствует в нем.
Предпосылки
Node.js
- Учетная запись Google Workspace Business или Enterprise с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения Chat.
- Установите облачную клиентскую библиотеку Node.js.
- Создайте учетные данные для доступа на основе того, как вы хотите выполнить аутентификацию в своем запросе API Google Chat:
- Чтобы пройти аутентификацию в качестве пользователя чата, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с именем
credentials.json
в локальном каталоге. - Чтобы выполнить аутентификацию в приложении Chat, создайте учетные данные сервисной учетной записи и сохраните их как JSON-файл с именем
credentials.json
.
- Чтобы пройти аутентификацию в качестве пользователя чата, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы пройти аутентификацию как пользователь или как приложение чата.
Питон
- Учетная запись Google Workspace Business или Enterprise с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения Chat.
- Установите клиентскую библиотеку Python Cloud .
- Создайте учетные данные для доступа на основе того, как вы хотите выполнить аутентификацию в своем запросе API Google Chat:
- Чтобы пройти аутентификацию в качестве пользователя чата, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с именем
credentials.json
в локальном каталоге. - Чтобы выполнить аутентификацию в приложении Chat, создайте учетные данные сервисной учетной записи и сохраните их как JSON-файл с именем
credentials.json
.
- Чтобы пройти аутентификацию в качестве пользователя чата, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы пройти аутентификацию как пользователь или как приложение чата.
Ява
- Учетная запись Google Workspace Business или Enterprise с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения Chat.
- Установите клиентскую библиотеку Java Cloud .
- Создайте учетные данные для доступа на основе того, как вы хотите выполнить аутентификацию в своем запросе API Google Chat:
- Чтобы пройти аутентификацию в качестве пользователя чата, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с именем
credentials.json
в локальном каталоге. - Чтобы выполнить аутентификацию в приложении Chat, создайте учетные данные сервисной учетной записи и сохраните их как JSON-файл с именем
credentials.json
.
- Чтобы пройти аутентификацию в качестве пользователя чата, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы пройти аутентификацию как пользователь или как приложение чата.
Скрипт приложений
- Учетная запись Google Workspace Business или Enterprise с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения Chat.
- Создайте автономный проект Apps Script и включите расширенную службу чата .
- В этом руководстве необходимо использовать аутентификацию пользователя или приложения . Для аутентификации в приложении Chat создайте учетные данные сервисной учетной записи. Инструкции см. в разделе «Аутентификация и авторизация в приложении 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
Питон
Ява
Скрипт приложений
Чтобы запустить образец, замените следующее:
-
SPACE_NAME
: идентификатор изname
пространства. Идентификатор можно получить, вызвав методListSpaces()
или указав URL пространства. -
USER_NAME
: идентификатор пользователя.
API чата возвращает экземпляр Membership
, который подробно описывает созданное членство пользователя.
Пригласите или добавьте группу Google в пространство
Чтобы пригласить или добавить группу Google в пространство с аутентификацией пользователя ( аутентификация приложения не поддерживает приглашение или добавление группы Google в пространство), передайте в запросе следующее:
- Укажите область авторизации
chat.memberships
. - Вызовите метод
CreateMembership()
. - Передайте
parent
как имя ресурса пространства, в котором необходимо создать членство. - Передайте
membership
как экземплярMembership
, задав для поляgroupMember
name
groups/{group}
, где{group}
— идентификатор группы, для которой вы хотите создать членство. Идентификатор группы можно получить с помощью API Cloud Identity .
Группы Google нельзя добавлять в групповой чат или личное сообщение, можно только в именованное пространство.
В следующем примере группа добавляется в именованное пространство с аутентификацией пользователя:
Node.js
Питон
Ява
Скрипт приложений
Чтобы запустить образец, замените следующее:
-
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
Питон
Ява
Скрипт приложений
Чтобы запустить пример, замените SPACE_NAME
на идентификатор из name
пространства. Идентификатор можно получить, вызвав метод ListSpaces()
или указав URL пространства.
API чата возвращает экземпляр Membership
, который подробно описывает созданное членство пользователя.
Пригласите или добавьте пользователя в пространство как приложение чата
Аутентификация приложения требует однократного одобрения администратора .
Чтобы пригласить или добавить пользователя в пространство с аутентификацией через приложение , передайте в запросе следующее:
- Укажите область авторизации
chat.app.memberships
. - Вызовите метод
create
для ресурсаmembership
. - Установите
parent
на имя ресурса пространства, в котором необходимо создать членство. - Установите для
member
users/{user}
, где{user}
— это человек, для которого вы хотите создать членство, и он может быть:- Идентификатор пользователя в API People. Например, если
resourceName
пользователя API People —people/123456789
, то установитеmembership.member.name
равнымusers/123456789
. - Идентификатор пользователя в API каталога.
- Адрес электронной почты пользователя. Например,
users/222larabrown@gmail.com
илиusers/larabrown@cymbalgroup.com
. Если пользователь использует учётную запись Google или принадлежит к другой организации Google Workspace, необходимо указать его адрес электронной почты.
- Идентификатор пользователя в API People. Например, если
Создать ключ API
Для вызова метода API Developer Preview необходимо использовать закрытую версию документа API Discovery, доступную для разработчиков. Для аутентификации запроса необходимо передать ключ API.
Чтобы создать ключ API, откройте проект Google Cloud вашего приложения и выполните следующие действия:
- В консоли Google Cloud перейдите в > API и службы > Учетные данные .
- Нажмите Создать учетные данные > Ключ API .
- Отобразится ваш новый ключ API.
- Нажмите «Копировать , чтобы скопировать ключ API для использования в коде вашего приложения. Ключ API также можно найти в разделе «Ключи API» учётных данных вашего проекта.
- Нажмите «Ограничить ключ» , чтобы обновить расширенные настройки и ограничить использование вашего ключа API. Подробнее см. в разделе «Применение ограничений для ключа API» .
Напишите скрипт, который вызывает Chat API
В следующем примере пользователь добавляется в пространство с аутентификацией приложения :
Питон
- В рабочем каталоге создайте файл с именем
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, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # 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()
В коде замените следующее:
API_KEY
: ключ API, созданный вами для создания конечной точки службы для API чата.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 .
Ограничения и соображения
- Благодаря аутентификации приложения приложение Chat может приглашать или добавлять пользователей, но не приложения Google Groups или Chat. Чтобы добавить себя, приложение Chat должно использовать аутентификацию пользователя с областью авторизации
chat.memberships
.
Похожие темы
- Получите подробную информацию о членстве пользователя или чат-приложения .
- Перечислите участников в пространстве .
- Обновите членство пользователя в чат-пространстве Google .
- Удалить пользователя или чат-приложение из пространства .