인프런 커뮤니티 질문&답변
앱실행시 네이버맵 [401] 에러
작성
·
192
0
안녕하세요. 실행하는 게 목표입니다. 네이버 세팅하는 영상과 글을 보고 세팅을 했는데
실행한 앱에서 밑의 하단ㄴ에 [NaverMapSdk] Authorization failed: [401] Unauthorized client 라는 에러가 반복해서 뜹니다. client_id 오류라고 하네요.
제가 시도해본 것들.
삭제후 처음부타 다시 세팅
claude-code의 도움을 받아 방화벽 끄고 앱 실행
네
이버 console에서 application 삭제, 재생성 반복.
claude-code의 도움을 받아 문제가 무엇인지 찾으려했지만 세팅은 잘 돼있다고 함.
github에 올리신 food-delivery-app/rn72 경로에서 영상과 글대로 세팅 후에 서버 실행하고 회원가입, 로그인까지 잘 돌아가는데 네이버지도에서만 에러가 뜹니다. 실행해보는 것이 목표입니다. 감사합니다.


[제로초 강좌 질문 필독 사항입니다]
질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.
도움이 되는 질문을 하는 방법을 알려드립니다.
https://www.youtube.com/watch?v=PUKOWrOuC0c
0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.
1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.
2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.
3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.
4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.
5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.
6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.
답변 2
0
AndroidManifest.xml에 다음 줄 넣으셨나요? YOUR_NCP_KEY_HERE에 클라이언트 키 치환해서요.
<manifest>
<application>
<meta-data
android:name="com.naver.maps.map.NCP_KEY_ID"
android:value="YOUR_NCP_KEY_ID_HERE" />
</application>
</manifest><manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<application
android:usesCleartextTraffic="true"
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme">
<meta-data android:name="com.dieam.reactnativepushnotification.notification_foreground" android:value="true"/>
<meta-data android:name="com.dieam.reactnativepushnotification.notification_color"
android:resource="@android:color/white"/>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationActions"/>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher"/>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.QUICKBOOT_POWERON"/>
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
</intent-filter>
</receiver>
<service android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<meta-data
android:name="com.naver.maps.map.CLIENT_ID"
android:value="xnjlsjxvr4" />
<meta-data
android:name="com.naver.maps.map.NCP_KEY_ID"
android:value="xnjlsjxvr4" />
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<queries>
<package android:name="com.skt.tmap.ku"/>
</queries>
</manifest>
AndroidManifest.xml 전체 코드를 보내드립니다. application 안에 들어있습니다. cmd 관리자로 열어서 npm run adnroid로 재빌드 했는데 안 됩니다..ㅠㅠ
완료되었습니다! iOS 번들 ID를 com.rn72로 변경했습니다.
변경 내용
ios/rn72.xcodeproj/project.pbxproj 파일에서 4개 위치의 번들 ID를 모두 업데이트했습니다:
- Line 536: Debug (Tests) - com.rn72
- Line 560: Release (Tests) - com.rn72
- Line 590: Debug (App) - com.rn72
- Line 621: Release (App) - com.rn72
현재 패키지명 통일 상태
- ✅ Android: com.rn72
- ✅ iOS: com.rn72
- ✅ 일관성: 양쪽 플랫폼 모두 동일한 패키지명 사용
claud-code로 ISO쪽 패키지명을 변경했습니다. 그래도 [401] 에러가 뜨네요..
변경 후에 앱 지우고 빌드 다시 하셔야 합니다! ios만 수정이된것같긴한데 android도 com.rn72가 맞나 모르겠네요. android/app/build.gradle에 com.rn72로 되어있어야하고,
android/app/src/main/java/com/rn72 폴더가 존재해야 합니다.
0
안녕하세요, 인프런 AI 인턴입니다. batch sarm님.
네이버맵 연동 시 자주 나타나는 [401] Unauthorized client 에러는 주로 API 키 설정 문제로 발생할 수 있습니다. 이는 클라이언트 ID나 Secret Key가 올바르지 않거나, 사용자가 등록한 앱의 정보(패키지 이름, Bundle ID 등)와 네이버 개발자 센터에 등록된 정보가 일치하지 않을 때 발생합니다.
문제 해결을 위해 다음 단계를 확인해보세요:
API 키 재확인: 네이버 개발자 센터에서 제공된 Client ID와 Secret Key가 정확하게 입력되었는지 확인하세요. API 키를 복사할 때 공백이나 잘못된 문자가 포함되지 않도록 주의하세요.
앱 정보 일치 확인:
- Android의 경우,
Android 앱 패키지 이름이 네이버 개발자 센터에 등록된 패키지 이름과 일치하는지 확인하세요.
- iOS의 경우,
iOS Bundle ID가 네이버 개발자 센터에 등록된 값과 일치하는지 확인하시기 바랍니다.
- Android의 경우,
API 사용 설정:
- 네이버 개발자 센터에서 필요한 API 사용이 제대로 설정되어 있는지 확인하세요. 보통 Maps 관련 API에 대한 사용 권한이 활성화되어 있어야 합니다.
- 네이버 개발자 센터에서 필요한 API 사용이 제대로 설정되어 있는지 확인하세요. 보통 Maps 관련 API에 대한 사용 권한이 활성화되어 있어야 합니다.
번역된 에러 메시지 확인:
- 이미 번역을 시도하셨겠지만, 에러 메시지를 한 번 더 번역하여 귀하의 문제와 정확히 맞는지 재확인해 보실 것을 권장합니다.
- 이미 번역을 시도하셨겠지만, 에러 메시지를 한 번 더 번역하여 귀하의 문제와 정확히 맞는지 재확인해 보실 것을 권장합니다.
의도치 않은 실수를 방지하기 위해서 관련하여 이해를 돕기 위한 두 가지 관련 질문 링크를 제공하겠습니다:
이 글들이 도움이 되길 바랍니다. 추가적으로 궁금한 점이나 더 도움받고 싶은 사항이 있으시면, 이어서 질문해 주세요. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






이렇게 넣었는데 동일한 오류가 뜹니다. 빠른 실행을 원해서 혼자 삽질하는 시간을 줄이고 질문드리는 것에 양해를 구합니다. 감사합니다.