Slack API를 시작하는 방법을 요약했습니다.
Slack API를 시작하는 방법을 요약했습니다.
목차
※ 루비 사용
Slack에 앱 등록
브라우저에서 다음 페이지에서 Slack API에 로그인합니다.
htps : // s ck. 코 m/시 g 마늘
개발을 위한 작업 공간 만들기
로그인이 끝나면 다음 페이지에서 개발 테스트를위한 작업 공간을 만듭니다.

먼저
+ Create a New Workspace를 클릭하십시오.
만들 작업 공간의 이름을 듣기 때문에 원하는 이름을 입력하고
Next를 클릭합니다.(필자는 'development'라는 이름으로 설정)

그런 다음 작업 공간을 사용하는 목적을 묻는 메시지를 입력하고
Next를 클릭하십시오.(필자는 『slack api』라고 기술)

그런 다음 초대할 멤버를 듣기 때문에 무시하고
Skip this step를 클릭합니다.
이것으로 작업 공간 작성이 완료되었습니다.
슬랙 앱 만들기
1. Slack App 만들기
브라우저에서 다음 페이지에서 Slack App을 만듭니다.
htps : // 아피. scck. 이 m/아 ps? 네 w_아 p=1

앱 이름
앱 이름을 임의로 입력
※ 나중에 변경 가능
Development Slack Workspace
앱을 적용 할 작업 공간 (이전에 만든) 선택
※ 나중에 변경 불가이므로 주의
입력/선택 후
Create App를 클릭하십시오.2. Scopes에서 Slack 앱 권한 설정

Permission를 클릭하여 이동
Add an OAuth Scope를 클릭 한 후 chat:write를 선택하여 Scope를 추가합니다.(chat : write)는 Bot의 게시를 허용합니다.
※ 나중에 추가 가능
3. 앱을 workspace에 설치

Scope를 설정한 페이지와 같은 페이지에서,
Install to Workspace를 클릭하여 Slack 앱을 작업 공간에 설치합니다.
다음과 같은 페이지가 표시되므로
Allow를 클릭하십시오.(작업 공간 없이 앱을 실행해도 좋은지 확인하고 있습니다.)

이것으로 작업공간에 앱 설치가 완료되었습니다.
위의
Bot User OAuth Access Token 나중에 사용하기 때문에 참고.Slack API를 사용하여 메시지 게시
1. Gemfile 추가
Gemfile 만들기
Gemfile
source 'https://rubygems.org'
gem 'http'
gem 'json'
$ bundle install
2. 스크립트 실행을 위한 파일 준비
test.rb
require 'http'
require 'json'
BOT_USER_ACCESS_TOKEN="< 先ほどメモしたBot User OAuth Access Token をコピペ >"
response = HTTP.post("https://slack.com/api/chat.postMessage", params: {
token: BOT_USER_ACCESS_TOKEN,
channel: '#random',
text: 'hello slack',
as_user: true
})
puts JSON.pretty_generate(JSON.parse(response.body))
해설들이
test.rb
# Apiリクエスト送信に用いる
require 'http'
# Jsonデータ作成に用いる
require 'json'
# ACCESS_TOKENを設定
# Scopeへのアクセスに利用する
BOT_USER_ACCESS_TOKEN="< 先ほどメモしたBot User OAuth Access Token をコピペ >"
# HTTPリクエストを特定にSlackApiのURLに送信する
# chat.postMessage では投稿を作成する
# paramsの中身は指定された値を渡す
response = HTTP.post("https://slack.com/api/chat.postMessage", params: {
token: BOT_USER_ACCESS_TOKEN,
channel: '#random',
text: 'hello slack',
as_user: true
})
puts JSON.pretty_generate(JSON.parse(response.body))
params 내용에 대해
token
인증 토큰 지정
채널
메시지를 게시할 채널 지정
텍스트
메시지 지정
as_user
true를 전달하면 인증된 사용자로 메시지가 게시됨
자세한 것은 이 페이지에 기재되어 있습니다.
htps : // 아피. scck. 코 m/메욘 ds/짱 t. 포스트 메시게
이번에는 Messe를 게시하기 위해
chat.postMessage를 사용했지만 그 밖에도 다양한 api 메소드가 준비되어 있습니다.htps : // 아피. scck. 코 m / 메조 ds
Bot을 채널에 초대하기

Api로 메시지를 전송하는 데 사용되는 채널 메시지에서
/invite @<Bot_Name>를 입력하여 Bot을 채널에 초대합니다.3. 실행
다음 명령으로 스크립트 실행
$ bundle exec ruby test.rb
{
"ok": true,
"channel": "...",
"ts": "...",
"message": {
"bot_id": "...",
"type": "message",
"text": "hello slack",
"user": "...",
"ts": "...",
"team": "...",
"bot_profile": {
"id": "...",
"deleted": false,
"name": "test_app",
"updated": ...,
"app_id": "...",
"icons": {
"image_36": "https://a.slack-edge.com/80588/img/plugins/app/bot_36.png",
"image_48": "https://a.slack-edge.com/80588/img/plugins/app/bot_48.png",
"image_72": "https://a.slack-edge.com/80588/img/plugins/app/service_72.png"
},
"team_id": "..."
}
}
실행 결과가 위와 같이 되어 있으면 성공입니다!
슬랙을 확인합시다!

반영되고 있네요, 이것으로 종료입니다.
고마워요
오류 정보
오류에 대해 간단히 정리했으므로 참고로
channel_not_found
채널이 존재하지 않음
not_authed
인증 토큰이 설정되지 않았거나 잘못되었습니다.
missing_scope
범위 권한이 올바르게 설정되지 않은 설정을 변경하면 reinstall이 필요합니다.
not_in_channel
채널에 Bot이 추가되지 않음
Reference
이 문제에 관하여(Slack API를 시작하는 방법을 요약했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/naok1207/items/b32523deb372e6978f84텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)