MSSQL API2.0 인증관련 오류
MSSQL에서
https://developers.worksmobile.com/kr/document/1005008?lang=ko메시지 전송 - API 1.0 (종료예정) -NAVER WORKS Devhttps://developers.worksmobile.com/kr/document/1005008?lang=ko
해당부분 코드를 이용하여 메시지를 전송했는데 2.0으로 변경되면서 업데이트가 막혀 질문드립니다.
API 1.0 관련코드-------------------------------------------------
set @contentType = 'application/json; charset=UTF-8';
set @url = 'https://apis.worksmobile.com/r/{API ID}/message/v1/bot/{botNo}/message/push' --ver1
SET @postData = '{
"accountid": "사용자ID@shgcokr",
"content": {
"type":"text",
"text":"API 1.0TEST"
}
}'; --전송데이터
--POST메시지
EXEC @ret = sp_OACreate 'MSXML2.ServerXMLHTTP', @token OUT;
EXEC @ret = sp_OAMethod @token, 'open', NULL, 'POST', @url, 'false'; --POST 방식
EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'consumerKey', 'consumerKey';
EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'Authorization', 'Bearer AuthorizationCode';
EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'Content-type', @contentType;
EXEC @ret = sp_OAMethod @token, 'send', NULL, @postData;
---------------------------------------------------------------------
해당 방식으로 문제없이 진행되었습니다.
API 2.0으로 바뀌면서
https://developers.worksmobile.com/kr/reference/bot-user-message-send?lang=ko사용자에게 메시지를 전송하기 위해 UserID와 AuthorizationToken이 필요하게되어
https://developers.worksmobile.com/kr/reference/authorization-auth?lang=ko&manageDomainId=300036891해당 문서를 보고 작업하였습니다.
-----------------------------------------------------------------------------------------
set @url = 'https://auth.worksmobile.com/oauth2/v2.0/authorize' --Authorization Code 발급 GET
set @contentType = 'application/x-www-form-urlencoded; charset=UTF-8';
SET @getData = '
client_id=client_id&
redirect_uri=&
scope=bot,bot.read&
response_type=code&
state=test
'; --전송데이터
Exec @ret = sp_OAMethod @token, 'open', NULL, 'GET', @url, 'false'; --GET 방식
EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'Content-type', @contentType;
EXEC @ret = sp_OAMethod @token, 'send', NULL, @gettData;
---------------------------------------------------------------------------------------
결과 응답으로는
200 OK
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1"> <title>LINE WORKS</title> <link rel="stylesheet" type="text/css" href="/css/openAPIError.css"> </head> <body> <div class="error_box"> <header> <div class="header"> <div class="inner"> <h1><a href="#"><img src="https://static.worksmobile.net/static/pwe/wm/common/logo_naverworks.svg" alt="NAVER WORKS" width="100%" height="100%"></a></h1> </div> </div> </header> <div class="error_contents"> <div class="msg_box"> <p class="desc"> Invalid client information. <br>Check Client Id or Parameter. </p> </div> </div> </div> </body> </html>
값이 전송되었습니다.
혹시몰라서
https://auth.worksmobile.com/oauth2/v2.0/authorize?client_id={client_id}&redirect_uri&scope=bot,bot.read&response_type=code&state=test
값으로도 진행해보았지만 유효하지 않은 클라이언트 정보라는 메시지만 나타납니다.
'client_id' 부분에는 관리자 콘솔 API2.0에서 생성한 앱에 표시된 Client ID를 적어넣었습니다.
게시글에 새로운 댓글이 달리면 알림을 전송합니다.
댓글1
업데이트 된 답글입니다.
bsw2428
저는 정상적으로 발급이 됩니다. 아래와 같은 예시로 진행해봤습니다.
client_id=edlBa03ge*************
redirect_uri=https://xxxx*****.com
scope=bot,bot.read
response_type=code
state=test
domain=my*****.com
2023.03.27
궁금한 점을 해결하지 못하셨나요?
지금 바로 NAVER WORKS 사용자들에게 물어보세요!