인프런 커뮤니티 질문&답변

youtaey9327님의 프로필 이미지
youtaey9327

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

크롤링을 위한 지식: 꼭 알아둬야할 데이터 포멧 - JSON 포멧 이해하기

계속해서 오류가 납니다..

작성

·

160

1

client_id = '***********'

client_secret = '*********'

naver_open_api = 'https://openapi.naver.com/v1/search/shop.json?query=android'

header_params ={'X-Naver-Client-Id':client_id, 'X-Naver-Client-Secret':client_secret}

res = requests.get(naver_open_api, headers=header_params)

res.content

 

물론 **은 제 아이디및 비밀번호를 가리기 위해 바꾸어 작성했습니다.

 

저번과 같은 질문이지만, 말씀해주신 어플리케이션 재등록, url변경, 다른 컴퓨터환경에서 시도 모두 해보았으나 같은 오류가 발생합니다. 또한 해당 url클릭시 다음과 같은 화면의 오류가 발생합니다. 검색을 많이 해보았으나, 도저히 해결이 되지 않아 재차 질문드립니다ㅜㅜ

 

오류1.png첫번째 사진이 코드 오류이고, 두번째는 해당 url

'https://openapi.naver.com/v1/search/shop.json?query=android'

을 눌렀을 때 나오는 오류입니다..도와주시면 정말 감사하겠습니다

답변 1

0

안녕하세요. 답변 도우미입니다.

질문 주신 내용에서 Naver API를 사용하려고 할 때 인증 오류가 발생하는 문제에 대해 도움을 드리겠습니다. 제공해주신 오류 메시지와 코드를 토대로 몇 가지 점검해보아야 할 사항을 정리해보았습니다.

1. Client ID와 Client Secret 확인:

- 네이버 개발자 센터에서 발급받은 Client ID와 Client Secret이 정확한지 확인합니다.

- 발급받은 Client ID와 Client Secret이 올바르게 코드에 입력되어 있는지 확인합니다.

2. 헤더 파라미터 확인:

- 요청 헤더에 Client ID와 Client Secret을 올바르게 설정했는지 확인합니다. 제공해주신 코드에서 이 부분은 올바르게 설정된 것으로 보입니다.

```python

header_params = {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret}

```

3. API 요청 코드 확인:

- API 요청을 보낼 때 필요한 파라미터가 제대로 설정되었는지 확인합니다.

- 예시 코드에서 문제가 없어 보이지만, 아래와 같이 다시 한 번 점검해봅니다.

```python

import requests

client_id = 'YOUR_CLIENT_ID'

client_secret = 'YOUR_CLIENT_SECRET'

naver_open_api = 'https://openapi.naver.com/v1/search/shop.json?query=android'

header_params = {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret}

res = requests.get(naver_open_api, headers=header_params)

if res.status_code == 200:

print(res.content)

else:

print(f"Error Code: {res.status_code}")

print(res.json())

```

4. API 상태 점검:

- 네이버 개발자 센터에서 제공하는 API가 정상적으로 작동하는지 확인합니다. 네이버 API 상태 페이지나 공지사항을 통해 점검 중인 사항이 없는지 확인합니다.

5. URL 인코딩:

- URL에 포함된 쿼리 파라미터가 올바르게 인코딩되었는지 확인합니다. 만약 쿼리 문자열에 특수 문자가 포함될 경우 URL 인코딩을 수행해야 합니다.

```python

import urllib.parse

query = 'android'

encoded_query = urllib.parse.quote(query)

naver_open_api = f'https://openapi.naver.com/v1/search/shop.json?query={encoded_query}'

```

6. 올바른 엔드포인트 사용:

- 네이버 쇼핑 검색 API가 맞는지, 엔드포인트 URL이 정확한지 확인합니다.

7. API 사용 정책 확인:

- 네이버 API 사용 정책에 따라 하루 요청 가능 횟수나 기타 제한 사항을 확인합니다.

위의 사항들을 점검한 후에도 문제가 지속된다면, 네이버 개발자 센터에 문의하여 자세한 도움을 받는 것도 좋은 방법입니다.

감사합니다.

잔재미코딩 드림

youtaey9327님의 프로필 이미지
youtaey9327
질문자

1~7 까지 모두 실행하였으나, 똑같은 오류가 반복됩니다.. 검색을 해봐도 잘 나오지 않는데 제 개발 환경이 jupyter lite인 것도 이유가 될까요? (브라우저를 통한 jupyter 이용중입니다)

youtaey9327님의 프로필 이미지
youtaey9327

작성한 질문수

질문하기