지도/로컬 API에 대한 문의게시판입니다.
swift로 Header에 Authorization을 붙여 호출했는데 Authorization을 찾을 수 없다고 뜹니다.
어떻게 해야하나요?
Authorization 의 key 부분은 다음과 같이 작성했습니다.
안녕하세요~
{"errorType":"AccessDeniedError","message":"cannot find Authorization : KakaoAK header"}
위 에러를 재현하려고 몇가지 테스트를 해봤는데요. 재현되는 경우는 아래 코드와 같이 “Authorization” 헤더를 주석처리 했을때 밖에 없었습니다. 전송 로직을 다시한번 살펴보시겠어요?
@IBAction func TEST(){
guard let url:URL = URL(string: "https://dapi.kakao.com/v2/local/search/keyword.json?y=37.514322572335935&x=127.06283102249932&radius=20000&query=KT") else {
return
}
var urlReq:URLRequest = URLRequest.init(url: url)
urlReq.httpMethod = "GET"
urlReq.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
//urlReq.addValue("KakaoAK c9~~~~~~~~~~~~~~~~~~~~~~", forHTTPHeaderField: "Authorization")
let IPTask = URLSession.shared.dataTask(with: urlReq) { (data, res, error) in
//error 일경우 종료
guard error == nil && data != nil else {
if let err = error {
print(err.localizedDescription)
}
return
}
//data 가져오기
if let _data = data {
if let strData = NSString(data: _data, encoding: String.Encoding.utf8.rawValue) {
let str = String(strData)
print(str)
//메인쓰레드에서 출력하기 위해
DispatchQueue.main.async {
print(str)
}
}
}else{
print("data nil")
}
}
IPTask.resume()
}
다시봤더니 코드에 오류가 있어서 헤더가 안보내졌던거였네요. 감사합니다🙂