이 페이지에서는 사용자가 입력한 것처럼 인라인으로 표시되는 메시지를 만드는 방법을 설명합니다. 문자 메시지를 사용하여 사용자에게 간단한 정보를 제공하세요. 채팅에서 카드를 생성하는 더 복잡한 메시지를 구성하는 방법에 관한 자세한 내용은 카드 메시지 보내기를 참고하세요.
기본 요건
이 가이드의 예를 실행하려면 다음 기본 요건이 필요합니다.
Python
- Python 3.6 이상
- pip 패키지 관리 도구
Python용 Google 클라이언트 라이브러리입니다. 클라이언트 라이브러리를 설치합니다.
pip3 install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib oauth2client
Chat 스페이스의 멤버십이 포함된 게시된 Chat 앱:
- Chat 앱을 만들고 게시하려면 Cloud Functions로 Google Chat 앱 빌드를 참조하세요.
- Chat 스페이스에 Chat 앱을 추가하려면 Google Chat의 스페이스 또는 대화에 앱 추가하기를 참고하세요.
Chat 앱에 대한 승인 구성:
- 서비스 계정 인증이 완전히 지원됩니다. 서비스 계정을 설정하려면 서비스 계정으로 인증 및 승인을 참조하세요.
- Google Workspace 개발자 프리뷰 프로그램의 일환으로 지원됩니다. 사용자 인증을 설정하려면 사용자 인증 및 승인 (개발자 프리뷰)을 참조하세요. 개발자 프리뷰: 사용자 인증은 특정 기능에 사전 체험판 권한을 부여하는
문자 메시지 분석
Google Chat의 모든 메시지는 JSON 객체로 표시됩니다. 다음 예는 간단한 일반 텍스트 본문을 지정하는 기본 메시지입니다.
{
"text": "Your pizza delivery is here!"
}
Google Chat에 게시된 경우 이 예는 다음과 같이 렌더링됩니다.
비동기 문자 메시지 보내기
문자 메시지를 만드는 방법은 다음과 같습니다.
Python
- 작업 디렉터리에서 이름이
chat_create_text_message.py
인 파일을 만듭니다. chat_create_text_message.py
에 다음 코드를 포함합니다.from httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name( 'service_account.json', SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http())) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body={'text': 'Hello, world!'} ).execute() print(result)
코드에서
SPACE
를 Chat API의spaces.list()
메서드나 스페이스의 URL에서 가져올 수 있는 스페이스 이름으로 바꿉니다.작업 디렉터리에서 샘플을 빌드하고 실행합니다.
python3 chat_create_text_message.py
메시지의 텍스트 서식 지정
Google Chat을 사용하면 메시지 텍스트에 굵게, 기울임꼴, 취소선 등 기본 서식을 추가할 수 있습니다. 텍스트 서식을 지정하려면 다음 기호로 래핑합니다.
형식 | 기호 | 예 | 성과 |
---|---|---|---|
굵게 | * | *안녕하세요.* | 안녕하세요. |
기울임꼴 | _ (밑줄) | _안녕하세요_ | 안녕하세요. |
취소선 | ~ | ~안녕하세요~ | |
고정폭 | ` (역따옴표) | `안녕하세요` | hello |
고정폭 블록 | ``` (역따옴표 3개) | ``` Hello World ```의 |
Hello |
예를 들어 다음 JSON을 살펴보세요.
{
"text": "Your pizza delivery *has arrived*!\nThank you for using _Pizza Bot!_"
}
그러면 Chat 메시지에 다음과 같은 메시지가 표시됩니다.
이 텍스트 마크업 구문은 사용자가 입력한 메시지에 적용되는 구문과 동일하므로 카드 내부의 텍스트에 적용되는 HTML 기반 형식과 구별됩니다.
메시지 텍스트에 링크 포함
메시지 텍스트에 http://example.com/
와 같은 일반 링크 URL을 포함하면 Google Chat에서 이 텍스트를 링크 텍스트로 사용하고 지정된 URL에 자동으로 텍스트를 하이퍼링크로 연결합니다.
링크에 대체 링크 텍스트를 제공하려면 다음 구문을 사용합니다.
문법 | 렌더링 |
---|---|
<https://example.com/|LINK_TEXT> |
LINK_TEXT |
파이프와 링크 텍스트는 선택사항이므로 <https://example.com/>
와 https://example.com/
은 동일합니다.
특정 사용자를 @멘션하는 메시지
Chat 앱은 다음 문법에서 USER_ID
을 제공하여 메시지에서 사용자를 @멘션할 수 있습니다. 사용자의 USER_ID를 확인하려면 사용자가 보내는 메시지의 sender
필드를 검사합니다.
<users/USER_ID>
이 문자열은 지정된 사용자의 @멘션으로 대체됩니다. 예를 들어 다음 JSON을 살펴보세요.
{
"text": "Hey <users/123456789012345678901>! Thank you for using _Pizza bot!_"
}
그러면 다음과 같은 결과가 표시됩니다.
모든 사용자를 @멘션하는 메시지
사용자 ID all
를 사용하여 스페이스의 모든 사용자를 @멘션할 수 있습니다. 예를 들면 다음과 같습니다.
{
"text": "Important message for <users/all>: Code freeze starts at midnight tonight!"
}