카카오 친구목록 불러오기를 하기위해서
카카오 친구목록 추가 동의를 받은 후 받은 코드 값을 가지고
post 요청을 했지만 401 에러가 발생합니다 무엇이 문제인건가요??
axios
.post("https://kauth.kakao.com/oauth/token", {
grant_type: "authorization_code",
client_id: `${jsKey}`,
redirect_uri: "http://localhost:3000/oauth",
code: code,
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
@dea972
토큰 요청 시 사용하신 앱키가 JS-SDK키가 맞는지 확인 후 말씀해 주시기 바랍니다.
최근 에러가 발생한 요청에서는, NATIVE-SDK키 에 대한 실패 로그만 있어요.
내 애플리케이션>앱 설정>앱 키 에 있는 javascript key를 입력했습니다.
환경은 React (web) 환경입니다.
@dea972
해당 에러가 발생한 시간이, 지난 18일에 확인되었으나,
최근 요청 기록을 보면 모두 정상적으로 처리되고 있습니다.
지금도 에러가 발생하고 있는지요?
@lars.1
크롬으로 방금 확인한 부분 입니다.
@dea972
사용하고 계신 앱키를 제게 쪽찌로 말씀해 주세요.
@dea972
해당 키로 전달된 에러 요청이 없습니다. 코드에서 키가 맞는지 다시 확인하신 뒤 말씀해 주세요.
@lars.1
메세지 내용 확인해주세요. 키가 맞다는 부분을 보내드렸습니다.
lars.1
6월 23, 2020, 7:13오전
#10
@dea972
전달해 주신 로그에서 노출된 code 값을 사용한 토큰발급 요청 자체가 들어오지 않았습니다.
토큰 요청을 JS-SDK를 사용하지 않고 직접 요청하신 것인가요??
직접 요청하셨다면, 토큰 발급 요청 스펙이 잘못되었을 가능성이 크다고 생각되네요.
아래 문서를 확인하시고, 토큰요청 스펙에 맞게 요청하신것이 맞는지 확인하시기 바랍니다.
https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-token
dea972
6월 23, 2020, 7:18오전
#11
@lars.1
저의 상단 axios 요청 부분을 보면 아시겠지만 url이 문서에 있는 곳으로 되어있습니다…
lars.1
6월 23, 2020, 7:20오전
#12
@dea972
URL 외에 Content-Type, Parameter 등 확인해 보셔야 해요.
그리고 axios 의 경우 Content-Type을 설정하지 않을경우, Default json 으로 요청하는 것 으로 알고있습니다.
토큰요청은 application/x-www-form-urlencoded 으로 요청해야 합니다.
문서를 보시고 곽인해 보시는걸 추천 드려요.
1개의 좋아요
dea972
6월 23, 2020, 7:22오전
#13
const form = new FormData();
form.append("grant_type", "authorization_code");
form.append("client_id", jsKey);
form.append("redirect_uri", "http://localhost:3000/oauth");
form.append("code", code);
axios({
method: "post",
url: "https://kauth.kakao.com/oauth/token",
data: form,
headers: {
"content-type": `application/x-www-form-urlencoded;charset=utf-8`,
},
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
@lars.1
다음과 같이 요청 드리고 있습니다.
dea972
6월 23, 2020, 7:27오전
#14
js SDK를 사용해서 요청할수 있는방법이 있나요???
lars.1
6월 23, 2020, 7:39오전
#15
dea972
6월 23, 2020, 7:50오전
#16
@lars.1
다음과 같은 에러가 발생합니다.
변경한 코드값
window.Kakao.API.request({
url: "/oauth/token",
grant_type: "authorization_code",
client_id: jsKey,
redirect_uri: "http://localhost:3000/oauth",
code: code,
success: function (response) {
console.log(response);
},
fail: function (error) {
console.log(error);
},
});
dea972
6월 24, 2020, 3:19오전
#17
다음과 같은 방법을 통해 문제를 해결했습니다.
window.Kakao.Auth.login({
scope: "friends",
success: function (response) {
console.log(response);
},
fail: function (error) {
console.log(error);
},
});