파이썬 프로젝트 및 응용/음성으로 네이버 캘린더에 자동으로 일정 등록하는 plugin 만들기

[프로젝트] 파이썬 음성으로 네이버 캘린더에 자동으로 일정 등록하는 chatGPT plugin 만들기 - 2.인증 코드 획득하기

파기차차 2023. 6. 17. 11:01
728x90
반응형
SMALL

ㅁ 개요

 

O 프로그램 소개

 

 

- 이번 글은 이전글([프로젝트] 파이썬 음성으로 네이버 캘린더에 자동으로 일정 등록하는 chatGPT plugin 만들기 - 1.네이버 개발자 센터에 애플리케이션 등록하기))에 이은 3번째 글로 여기서는 엑세스 토큰을 얻기위한 사전작업으로 인증코드를 얻는 방법에 대하여 설명합니다.

 

 

 

O 완성된 프로그램 실행 화면

 

 

 - 본 포스팅의 최종 완성된 프로그램의 결과화면은 아래와 같습니다.

 

 

 

1.아래와 같이 프로그램을 실행하면

 

 

 

 

 

 

2. 네이버 로그인 창이 뜨고, 로그인을 하면

 

 

 

 

3. 아래와 같이 내가 만든 애플리케이션(앱)에서 네이버 사용자의 정보에 접근해야 하므로 동의를 받도록 해야 합니다.

아래와 같은 화면이 나오면 전체동의하기에 체크 후 '동의하기' 버튼을 클릭합니다.

 

 

 

 

4. 아래와 같이 에러 메시지('연결할 수 없음')가 뜨지만 주소창으로 자세히 보면 인증코드 값을 얻은 것을 볼 수 있습니다.

code=ePeJaCRGUbTM7sYAbJ

 

 

 

 

 

 


 

ㅁ 세부 내용

 

O 완성된 소스

 

 

소스 : 1.get_auth_code.py

 

import webbrowser
import requests
from config import *

client_id = CLIENT_ID
redirect_uri = "http://localhost"
state = "abcde"


auth_url = f"https://nid.naver.com/oauth2.0/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&state={state}"
webbrowser.open_new_tab(auth_url)

code = input("Authorization code: ")

print(code)

 

 

 

 

 

 - 소스파일을 cmd, 파워쉘 또는 vscode 등에서 아래와 같이 실행하시기 바랍니다.
 

 

 > python 1.get_auth_code.py
 

 

 

 

 


 
 

 

O 주요 내용

 

1. 아래 소스코드에 대해서 간략히 설명합니다.

 

 

관련 모듈을 임포트 해줍니다. (line 1~3)

(아래 config.py 파일에 인증 정보(Client ID 등)를 넣어 둡니다)

 

 

webbrowser객체의 open_new_tab()함수로 인자로 넣어준 url을 브라우저로 띄웁니다.(line 12)

 

이 후 웹브라우저에서 사용자가 로그인 후 동의하면 인증코드를 획득하게 됩니다.

 

 

 

 

 

 


 

ㅁ 정리

 

O 우리가 배운 내용

 
 - 오늘은 여기서는 엑세스 토큰을 얻기위한 사전작업으로 인증코드를 얻는 방법에 대하여 살펴보았습니다.
 
 
 - 오늘 우리가 배운 내용을 간략히 정리해 보면 아래와 같습니다.

 > 1.일정 추가

   service.events().insert(calendarId='primary', body=event).execute() <-- service객체의 insert()함수로 일정 추가

 > 2.일정 삭제

   service.events().delete(calendarId='primary', eventId=event['id']).execute() <-- service객체의 delete()함수로 일정 삭제

 

 

 

오늘은 여기까지이며, 댓글하트는 제가 이글을 지속할 수 있게 해주는 힘이 됩니다.

위의 내용이 유익하셨다면, 댓글과 하트 부탁드립니다.

 

 

 

 

감사합니다.

 

 

 

 

 

※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.

 

 

728x90
반응형
LIST