c# 메시지 Bot 오류 문의
작성하신 내용은 누구나 볼 수 있습니다.
계정 이름, 도메인 이름, API ID, ConsumerKey 등의 비공개 정보는 기입하지마세요.
안녕하세요
메세지 Bot 으로 알람을 보낼려고
C# 에서 REST API을 이용하여 코딩을 했습니다.HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url));
request.Method = "POST";
request.Headers.Add("consumerKey", Consumer Key);
request.Headers.Add("Authorization", "Bearer Server List(ID 등록 방식)");
request.ContentType = "application/json;charset=UTF-8";
string inMsg =
{
"accountId": 네이버웍스 ID,
"content":{
"type":"text",
"text":"hello"
}
};
{
byte[] bytes = UTF8Encoding.UTF8.GetBytes(inMsg);
request.ContentLength = bytes.Length;
Stream os = request.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
os.Close();
}
string outMsg;
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
int stsCode = (int)response.StatusCode;
if (stsCode != 200)
{
string stsDesc = response.StatusDescription;
throw new Exception(stsCode + ": " + stsDesc);
}
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream/*, UTF8Encoding.UTF8*/);
outMsg = reader.ReadToEnd();
string prefix = outMsg.Substring(0, 50);
if (prefix.Contains("\"success\":false") || prefix.Contains("\"success\" : false"))
{
throw new Exception(outMsg.Length < 300 ? outMsg : outMsg.Substring(0, 300));
}
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 이부분에서 에러가 납니다
원격 서버에서 (401) 권한이 없음 오류를 반환했습니다.
권한이 없다고 에러가 나는데 무엇이 문제 일까요?
게시글에 새로운 댓글이 달리면 알림을 전송합니다.
댓글1
업데이트 된 답글입니다.
branches
Authentication failed : 컨슈머키와 토큰의 인증 실패
Authentication header not exists : 컨슈머키와 토큰이 헤더에 없음
Malformed authentication header : 헤더의 컨슈머키와 토큰 형식이 틀림
혹시 Authorization 값을 "Bearer 토큰값"으로 잘 설정하셨는지도 확인해 보세요
먼저 인증이해결되어야 메시지전송 API가 실행되거든요
2021.04.05
궁금한 점을 해결하지 못하셨나요?
지금 바로 NAVER WORKS 사용자들에게 물어보세요!