Slack API 발급받아 Python으로 활용하기

게시일 : 2019년 04월 05일     수정일 : 2019년 08월 26일    
# Python # slackclient

Slack API를 발급받아 Python으로 활용하는 법을 알아본다.

API TOKEN 발급받기

slack api 홈페이지에 접속한다.

API TOKEN을 발급받기 위해서는 Slack APP을 만들어야 한다.

slack_api_1

생성한 App을 OAuth & Permissions 메뉴에서 install App을 실행해야 한다.

처음에는 이 버튼이 비활성화되어 있다. 아래로 내려서 Scopes에서 권한 설정을 해야한다.

기본적으로 메세지를 보낼 수 있는 권한과 유저 정보를 확인할 수 있는 권한을 지정했다.

slack_api_2

활성화된 Install app 버튼을 누르면 Token이 발급된다.

slack_api_3

API 활용하기 with Token

slackclient라는 파이썬 라이브러리를 활용한다.

import slack
slack_token = " ... " # 발급받은 Token 값
client = slack.WebClient(token=slack_token)
client.chat_postMessage(channel="#dev", text="Hello world!")

slack_api_4

참고 : Scope에서 권한이 설정되지 않아 오류가 나면 needed에 표시되는 권한을 추가해주면 된다.

특정 User에게만 보이는 메세지를 전송할 수도 있다.

slack api에서는 실제 이름 대신 id값을 요구하는 경우가 많다.

# user ID 확인하기
[(user['id'], user['name']) for user in client.users_list()['members']]

=> [('USLACKBOT', 'slackbot'), ('UHPK6JJK', 'ts.yahwang')]

client.chat_postEphemeral(channel="#general", text="Hello, yahwang", user='UHPK66JJK')

더 많은 사용법은 Docs에서 확인할 수 있다.

References :