API

MSSQL API2.0 인증관련 오류

개발자개발

2023.03.24읽음 998

MSSQL에서 

https://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으로 바뀌면서
-----------------------------------------------------------------------------------------
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>
값이 전송되었습니다.
혹시몰라서
값으로도 진행해보았지만 유효하지 않은 클라이언트 정보라는 메시지만 나타납니다.
'client_id' 부분에는 관리자 콘솔 API2.0에서 생성한 앱에 표시된 Client ID를 적어넣었습니다.

댓글1

  • 업데이트 된 답글입니다.

    bsw2428

    Redirect URL 값을 입력하지 않아서 그런 것 같아요.
    저는 정상적으로 발급이 됩니다. 아래와 같은 예시로 진행해봤습니다.

    client_id=edlBa03ge*************
    redirect_uri=https://xxxx*****.com
    scope=bot,bot.read
    response_type=code
    state=test
    domain=my*****.com

    2023.03.27

    1
이전 글Access Token Refresh 연장 오류와 Refresh Token 질문
다음 글네이버웍스 메신저로 외부 홈페이지에서 메시지가 발송되는 기능 개발 문의
목록

궁금한 점을 해결하지 못하셨나요?
지금 바로 NAVER WORKS 사용자들에게 물어보세요!