ㅁ 개요
O 프로그램 소개
- 이번 글은 이전글([프로젝트] 파이썬 음성으로 네이버 캘린더에 자동으로 일정 등록하는 chatGPT plugin 만들기 - 1.네이버 개발자 센터에 애플리케이션 등록하기))에 이은 3번째 글로 여기서는 네이버 캘린더에 일정을 추가하는데 필요한 엑세스 토큰을 얻는 방법에 대하여 설명합니다.
O 완성된 프로그램 실행 화면
1.아래와 같이 프로그램을 실행하면 엑세스 토큰을 얻게 됩니다.
ㅁ 세부 내용
O 완성된 소스
소스 : 2.get_accessToken.py
import requests
from config import *
# 접근 토큰 발급 요청 API에서 access token 발급 받기
token_url = "https://nid.naver.com/oauth2.0/token"
headers = {"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"}
data = {
"client_id": CLIENT_ID,
"client_secret": CLIENT_SECRET,
"grant_type": "authorization_code",
"state": "abcde", # 네이버 로그인 인증 요청 API 호출 시 사용한 state 값
"code": AUTHORIZATION_CODE,
}
response = requests.post(token_url, headers=headers, data=data)
print(response)
response_json = response.json()
print(response_json)
access_token = response_json["access_token"]
# 회원 프로필 조회 API 호출
profile_url = "https://openapi.naver.com/v1/nid/me"
headers = {"Authorization": f"Bearer {access_token}"}
response = requests.get(profile_url, headers=headers)
response_json = response.json()
print(response_json)
O 주요 내용
1. 아래 소스코드에 대해서 간략히 설명합니다.
(대부분의 내용은 주석을 달아 놓았으니 이부분을 참고하여 주시기 바랍니다.)
관련 모듈을 임포트 해줍니다. (line 1~2)
(아래 config.py 파일에 인증 정보(Client ID, Client SECRET, AUTHORIZATION CODE 등)를 넣어 둡니다)
token_url, headers, data를 설정 후 api 요청을 합니다.(line 5~14)
요청에 대한 응답값을 response변수에 저장 후 json형식(키/벨류)으로 가져옵니다.(line 16)
json형식으로 가져온 response_json 변수에서 access token값만 가져옵니다.(line 18)
**아래 부분은 해도되고 안해도 됨(skip 해도 상관없는 부분임)
회원 프로필을 조회하기 위해 profile_url, headers 정보를 이용하여 다시 api 요청을 합니다(line 21~23)
다시 응답값을 json형식으로 만들고, print()문으로 찍어 봅니다.(line 24~25)
결과
{'resultcode': '00', 'message': 'success', 'response': {'id': '8nTAPO50dDgsF3nlnkK3HTnjcYxulhhxU_0L8IJrfTM'}}
ㅁ 정리
O 우리가 배운 내용
> 1.일정 추가
service.events().insert(calendarId='primary', body=event).execute() <-- service객체의 insert()함수로 일정 추가
service.events().delete(calendarId='primary', eventId=event['id']).execute() <-- service객체의 delete()함수로 일정 삭제
오늘은 여기까지이며, 댓글과 하트는 제가 이글을 지속할 수 있게 해주는 힘이 됩니다.
위의 내용이 유익하셨다면, 댓글과 하트 부탁드립니다.
감사합니다.
※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.