본문 바로가기
Python

[파이썬] 네이버 카페 API 자동 포스팅

by 퍼포먼스마케팅코더 2022. 6. 20.
반응형

바빠서 시간이 부족하거나 파이썬 코딩이 처음인 사람들이 많다. 누구나 손쉽게 코딩을 배우고 바로 업무자동화,디지털마케팅 등에 쓰일만한 여러 가지 파이썬 코드를 만들고 있다. 이에 네이버 카페 API 자동 포스팅 를 통해 파이썬 코드 공유드린다.

 

오늘은 네이버 카페 API 자동 포스팅 하는 방법을 가져왔다. 이제 카페로 어떻게 자동 포스팅하는지를 알아보자. 

주요 텍스트 및 이미지 포스팅까지 자동으로 업로드 하는 방법을 알아보기로 하자.

 

파이썬 네이버 카페 API 키 발급

파이썬으로 코딩하기 위해서는 먼저 아래와 같은 사이트에 들어가서 네이버 카페 오픈 API 이용 신청이 필요하다. 

 

https://developers.naver.com/docs/serviceapi/search/cafearticle/cafearticle.md

 

카페글 - Search API

카페글 NAVER Developers - 검색 API 카페글 검색 개발가이드 검색 > 카페글 네이버 카페의 공개된 게시판 글에 대한 검색 결과를 출력해주는 REST API입니다. 비로그인 오픈 API이므로 GET으로 호출할 때 H

developers.naver.com

 

들어가서 보면 오픈 API 이용 신청이라고 있다. 이에 해당 초록색깔 버튼을 클릭하자.

 

네이버 카페 API 자동 포스팅

 

이외 애플리케이션을 등록해야된다. 등록하자. 

 

 

네이버 카페 API 자동 포스팅

 

해당 API 약관을 읽어보고 확인을 누르고 다음으로 넘어간다.

네이버 카페 API 자동 포스팅

 

이에 계정설정 부분에 휴대폰 인증이 필요하다. 이에 휴대폰 인증을 해두도록 하자. 

네이버 카페 API 자동 포스팅

 

애플리케이션 등록을 해야되는데, 먼저 이름을 입력한다. 그리고 하기와 같이 카페를 넣어주고, PC 웹을 눌러 진행하면 된다. 

네이버 카페 API 자동 포스팅

 

PC 웹에선 서비스 URL과 Callback URL 2개가 있다.

이에 하기와 같이 주피터 노트북 고유 주소를 입력하여 넘어갔다. 

 

네이버 카페 API 자동 포스팅

 

최종 client ID와 Client Secret 값을 받은걸 확인했다. 이제 네이버 카페 API 키 발급은 완료된 것이다. 

이제 파이썬으로 포스팅을 하러 가보자.

 

네이버 카페 API 자동 포스팅

 

파이썬 네이버 카페 API 자동 포스팅

먼저 파이썬으로 코딩하기 위해서는 하기와 같이 작성한다. 그럼 아래와 같이 뭔가 URL이 나올 것이다. 

해당 URL을 클릭하자. 이외 client ID 와 client Secret 복사한 것을 아래에 키값에 넣어둔다.

 

redirect_uri = 'https://localhost:8888/'

client_id = ''  #키입력
client_secret = '' #키입력

state = "REWERWERTATE"

#코드 발급
url = f'https://nid.naver.com/oauth2.0/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&state={state}'
print(url) #밑에 링크 클릭하자

 

해당 URL을 클릭하면 이제 관련해서 네이버 카페 API 포스팅을 쓸꺼냐고 묻는다.  주저없이 API 포스팅을 쓸꺼라고 대답하자. "동의하기"를 눌러 선택하면 된다. 반드시 추가 제공 항목에서 "카페가입, 글쓰기" 부문이 포함돼 있어야된다. 없으면 파이썬으로 네이버 카페에 포스팅을 할 수가 없다. 

네이버 카페 API 자동 포스팅

 

 

해당 "동의하기" 클릭시 위에 "code" 부분이 보일 것이다. 해당 코드를 통해 access_token을 입력할 것이다.

 

네이버 카페 API 자동 포스팅

 

밑에 "code" 란에 해당 URL에 나온 코드를 입력하면 된다. 그럼 이제 최종 access_token 발급이 완료될 것이다.

해당 코드를 치면 이제 access_token 코드를 발급받는다. 이제 준비 완료된 것이다. 

 

import  hashlib
import  hmac
import  base64
import requests

#access token 발급 
code = '' #해당 코드 입력

clientConnect = client_id + ":" + client_secret
clidst_base64 = base64.b64encode(bytes(clientConnect, "utf8")).decode()
url = f'https://nid.naver.com/oauth2.0/token?grant_type=authorization_code&client_id={client_id}&client_secret={client_secret}&redirect_uri={redirect_uri}&code={code}&state={state}'
r = requests.get(url,headers={"Authorization": "Basic "+clidst_base64})
print(r.text) #밑에 나올시 access_token 토큰 복사

 

 

이제 파이썬으로 네이버 카페 포스팅을 완료해볼까? 아래 clubid, menu id를 입력하고, 위에 나온 access_token 코드를 입력한다.

네이버 카페 clubid는 네이버 카페의 고유 ID 값이라고 생각하면 된다.

이제 입력해야될 부문은 title, content 부문이다. 이외 이미지도 이미지 디렉토리 경로를 넣어주면은 완료된다. 해당 디렉토리 경로는 imagePath이다. 

 

import  urllib.request

access_token = "" #access_token 입력
header = "Bearer " + access_token # Bearer 다음에 공백 추가
clubid = "" # 카페의 고유 ID값 http://cafe.naver.com/apiexam
menuid = "" #메뉴 ID 값
url = "https://openapi.naver.com/v1/cafe/" + clubid + "/menu/" + menuid + "/articles"

title = '테스트입니다.' #제목 
subject = urllib.parse.quote(title) #제목

content = '테스트입니다.' #본문
description = urllib.parse.quote(content) #본문     

data = {'subject': subject, 'content': description, 'openyn' : True } #데이터 입력 (공개 데이터 기준)

#이미지 경로

imagePath = 'C:/Users/tera/Desktop/upload/submit_img_2.jpg'

files = [('image', ('테스트.jpg', open(imagePath, 'rb'), 'image/jpeg', {'Expires': '0'}))]

headers = {'Authorization': header } 
try :
    response = requests.post(url, headers=headers, data=data, files=files)
    #rescode = response.status_code
    #if(rescode==200):
    #    print (response.text)
    #else:
    #    print(rescode)
    print("포스팅완료")
except :
    print("포스팅실패")

 

최종적으로 완료됐는지 네이버 카페 주소에서 확인하면 된다.  그럼 파이썬으로 카페에 API 포스팅 쓰는게 최종 완료된 것이다. 

반응형

댓글