В этом руководстве объясняется, как использовать метод create
на ресурсе membership
API Google Chat, чтобы пригласить или добавить пользователя или приложение Chat в пространство, также известное как создание членства. Если при создании членства у указанного участника отключена политика автоматического принятия, он будет приглашен и должен принять приглашение в пространство, прежде чем присоединиться. В противном случае при создании членства участник добавляется непосредственно в указанное пространство.
Ресурс Membership
указывает, приглашен ли пользователь или приложение Google Chat в пространство, участвует в нем или отсутствует в нем.
Предварительные условия
Питон
- Python 3.6 или выше
- Инструмент управления пакетами pip
Новейшие клиентские библиотеки Google для Python. Чтобы установить или обновить их, выполните следующую команду в интерфейсе командной строки:
pip3 install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib oauth2client
Опубликованное приложение чата. Чтобы создать и опубликовать приложение Chat, см. раздел Создание приложения Google Chat .
Авторизация настроена для приложения Чат. Для создания членства требуется аутентификация пользователя с областью авторизации
chat.memberships
илиchat.memberships.app
.
Пригласить или добавить пользователя в пространство
Чтобы пригласить или добавить пользователя в пространство, передайте в запросе следующее:
- Укажите область авторизации
chat.memberships
. - Вызовите метод
create
для ресурсаmembership
. - Задайте для параметра
parent
имя ресурса пространства, в котором необходимо создать членство. - Установите для
member
users/{user}
где{user}
— это человек, для которого вы хотите создать членство, и может быть:- Идентификатор человека в People API. Например, если
resourceName
Person API Peoplepeople/123456789
, задайтеmembership.member.name
users/123456789
. - Идентификатор пользователя в API каталога.
- Адрес электронной почты пользователя. Например,
users/222larabrown@gmail.com
илиusers/larabrown@cymbalgroup.com
. Если пользователь использует учетную запись Google или принадлежит к другой организации Google Workspace, вы должны использовать его адрес электронной почты.
- Идентификатор человека в People API. Например, если
В следующем примере пользователь добавляется в пространство:
Питон
- В своем рабочем каталоге создайте файл с
chat_membership_user_create.py
. Включите следующий код в
chat_membership_user_create.py
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then adds a user to a Chat space by creating a membership. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # 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
в Chat API или из URL-адреса пространства.USER
: идентификатор пользователя.
В своем рабочем каталоге соберите и запустите пример:
python3 chat_membership_user_create.py
API чата возвращает экземпляр membership
с подробным описанием созданного членства.
Добавьте приложение Chat в пространство
Приложение чата не может добавить другое приложение в качестве участника в пространство. Чтобы добавить приложение чата в пространство или прямое сообщение между двумя пользователями-людьми, передайте в своем запросе следующее:
- Укажите область авторизации
chat.memberships.app
. - Вызовите метод
create
для ресурсаmembership
. - Задайте для параметра
parent
имя ресурса пространства, в котором необходимо создать членство. - Установить
member
вusers/app
; псевдоним, представляющий приложение, вызывающее API чата.
В следующем примере приложение Chat добавляется в пространство:
Питон
- В своем рабочем каталоге создайте файл с
chat_membership_app_create.py
. Включите следующий код в
chat_membership_app_create.py
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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.memberships.app"] def main(): ''' Authenticates with Chat API via user credentials, then adds the Chat app to a Chat space. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # 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', # Set the Chat app as the entity that gets added to the space. # 'app' is an alias for the Chat app calling the API. body = { 'member': { 'name':'users/app', 'type': 'BOT' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
В коде замените
SPACE
именем пространства, которое можно получить с помощью методаspaces.list
в Chat API или из URL-адреса пространства.В своем рабочем каталоге соберите и запустите пример:
python3 chat_membership_app_create.py
API чата возвращает экземпляр membership
с подробным описанием созданного членства.
похожие темы
- Получите подробную информацию о членстве пользователя или приложения Chat .
- Список участников в пространстве .
- Удаление пользователя или приложения Chat из пространства .