개발/API
SLACK API chatPostMessage 설정 및 사용법
buchet
2023. 3. 16. 10:09
1. APP 만들기
2. Scopes 설정 및 Token 발급
- OAuth & Permissions 클릭 > 설정
- channels:read - 워크스페이스의 public 채널에 대한 정보 보기
- chat:write - SlackApi로 message 발송
- users:write - SlackApi를 위한 presence(?) 설정
슬랙 채널에 메시지를 보내기 위해서는 chat:write는 반드시 추가를 해야합니다.
+ 슬랙 채널을 private 으로 설정 하였을 경우 groups:read Scope 추가 설정
3. Install to Wrokspace 클릭
4. bot 추가 할 앱 오른쪽 마우스 클릭 > 채널 세부정보 열기 > 앱 > 방금 추가 한 app 추가하기
- 아래 이미지는 SlackApi App 을 추가 한 상태
PHP 코드
if( !function_exists('send_slack_message'))
{
function send_slack_message($message=null) {
$postData = array(
'token' => SLACK_BOT_TOKEN, // oauth token
'channel' => SLACK_CHANNEL, // channel id
'text' => $message
);
$ch = curl_init('https://slack.com/api/chat.postMessage');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
}
Shell Script(sh)
curl -H "Content-type: application/json; charset=utf-8" \
--data '{"channel":"{채널ID}", "text":"{보내는 메시지}"}' \
-H "Authorization: Bearer {API 전송을 위해 발급 한 Token}" \
-X POST https://slack.com/api/chat.postMessage
결과
----------------------------------- 추가 정보 -------------------------------------
설정했던 api oauth token 확인하는경로
1. slack api 접속
2. your apps 접속
3. App Name 항목에 있는 app 접속
4. OAuth & Permissions 접속
5. OAuth Tokens for Your Workspace 영역에 있는 Bot User OAuth Token 항목 확인