목적 : 내가 만든 어플리케이션과 Slack 은 연동이 아주 쉽지만, 네이버웍스 메시지 봇은 직접 연동이 어렵다.
메시지 봇과 내 어플리케이션을 연동해 보자.
API 인증키가 아래와 같은 경우의 연동 예시입니다.
정확한 방법은 네이버 웍스 홈페이지에서 최신 정보를 보는것을 추천합니다만
설명이 부족하여 아래 정리된 내역을 활용해서 시도해 보면 됩니다.
Slack 과 마찬가지로 네이버웍스도 연동 환경 구성은 관리자 권한 또는 관리자의 일부 설정이 필요합니다.
Access Key ID
1UmQVawPzRWobCVtsZn1
Secret Key
2sr5WIFAvoPXRF1R3KYkf2hzbidWkOB1XUjlTiWd
Bot No. (Bot Id)
2823229
API를 호출할 때는 반드시 헤더에 NAVER WORKS 토큰과 컨슈머키를 포함해야 한다. NAVER WORKS 토큰 및 컨슈머키 발급 방법은 API 인증 준비를 참고한다.
헤더에 NAVER WORKS 토큰과 컨슈머키를 설정하는 방법은 다음과 같다.
주의
Authorization 타입으로 'Bearer'를 반드시 명시해야 하며, 'Bearer'와 'Token' 사이에 공백(space)을 빠트리지 않도록 주의한다.
method.setRequestHeader("consumerKey", "컨슈머키");
method.setRequestHeader("Authorization", "Bearer 토큰");
API ID
kr1SXgfzzQBbI
Server API Consumer Key
Vy7BN1PoDn3OmDP4OD2A
Authorization Key ??
https://auth.worksmobile.com/ba/kr1SXgfzzQBbI/service/authorize
https://apis.worksmobile.com/r/kr1SXgfzzQBbI/message/v1/bot/2823229/message/push
Content-Type: application/json; charset=UTF-8
Host: apis.worksmobile.com
consumerKey: "Vy7BN1PoDn3OmDP4OD2A"
Authorization: "Dy_D7IuZqZeWtYwCtfYn"
{
"accountId": "admin@example.com",
"content": {
"type": "text",
"text": "hello",
"i18nTexts": [{
"language": "ja_JP",
"text": "こんにちは"
},{
"language": "ko_KR",
"text": "안녕하세요"
}]
}
}
https://auth.worksmobile.com/ba/kr1SXgfzzQBbI/service/authorize?client_id=Dy_D7IuZqZeWtYwCtfYn&redirect_uri=http://192.168.1.123:8080/&state=rprp&domain=roundplanet
http://192.168.1.123:8080/?code=kr1VFk0eDJpTGNtZnNvNzFCeQ==&errorCode=00&state=rprp
Content-Type: application/json; charset=UTF-8
Host: auth.worksmobile.com
consumerKey: "Dy_D7IuZqZeWtYwCtfYn"
Authorization: "kr1dkdQeFhoVmNzTnBWbGlaRw=="
method.setRequestHeader("Authorization", "Bearer AAAAr1xaQrD3iGx2eyQ0/U3mu4OBJzC0HYNF");
Content-Type: application/json; charset=UTF-8
Host: apis.worksmobile.com
consumerKey: "Dy_D7IuZqZeWtYwCtfYn"
Authorization: "Bearer kr1dkdQeFhoVmNzTnBWbGlaRw=="
Content-Length: 265
https://auth.worksmobile.com/ba/kr1SXgfzzQBbI/service/authorize
서비스 API Authorization Code 발급
서비스 API 호출 시 Access Token을 헤더에 포함해야 하는데, Access Token을 구하기 위해서 Authorization Code를 먼저 발급받아야 한다. Authorization Code를 발급받으려면 로그인이 필요하므로 아래 URL을 반드시 화면으로 호출해야 한다.
Request URL
https://auth.worksmobile.com/ba/{API ID}/service/authorize
https://developers.worksmobile.com/kr/document/4002002?lang=ko
API 인증 준비 - 시작하기 -NAVER WORKS Developers Document
https://developers.worksmobile.com/kr/document/4002002?lang=ko
AAABBACG6knqC/fdRIN4yQzqxi2KhKwsLaX6PDMdG8Papsw2I84tQFVdykyPkcKUMQB7bKBBuV4cBAXXxhfNOFEm4wxaHFg54bwiu7RTOTcCECGerZhRHiaS2+9+AOfD9LK+iDOHvuO8xRh4fhY9gb6kF8H1MR8XyguwSELBa45BFuWz9BHd+E828/sKdejOiktFHRjGxfX7PqYMnIuM5gKYbrVGdV1fQMzBozgXD3Mil5RsgvKytaZTDFytNNXyczcietctxUJNaE/9q1IAUWeWN5S9NRE2GJ9DM7bdqFlIjjJyLF8TMMOmdh+rr/dpyMXN7PcIQWorqpOQLrsbzM9AA2C7pTP2mhvYzlgDiW8e9rMh
https://developers.worksmobile.com/kr/document/1005022?lang=ko
Bot이 포함된 대화방 생성 - 메시지 Bot -NAVER WORKS Developers Document
https://developers.worksmobile.com/kr/document/1005022?lang=ko
Bot이 포함된 대화방을 생성한다.
Bot이 생성된 후에 대화방 ID를 획득할 수 있다.
이를 이용하여 메시지를 전송하거나 Bot이 소속된 대화방 구성원 목록을 조회할 수 있다.
API 종류
서버 API
Request URL
https://apis.worksmobile.com/r/{API ID}/message/v1/bot/{botNo}/room
Response Example
{
"roomId": "12345"
}