IT

네이버카페 api 요청변수 게시글 공개 설정 전체 공개로 글쓰기

네이버카페 api로 글쓰기 방법은 네이버 디벨로퍼즈에 상세한 설명이 되어 있다. 백엔드로 자바, PHP, 파이썬, C#등의 언어를 통해 프로그램을 짜야한다. api호출 예제까지도 잘 정리가 되어 있어 간단히 따라며하면 쉽게 적용까지는 할 수있다. 허나 필자의 경우엔 문과 출신에 코딩에는 까막눈이라 따라하려고 해도 가이드가 없이는 쉽지 않다. 다행이도 프로그램을 짜는데 있어서 이미 많은이들의 손을 거쳐 잘 다듬어진 공개된 소스들이 많이 도움이 되었다. 하지만 그 주에서도 도무지 찾을 수 없는 부분이 있었다. 아무래도 너무 기초적인 부분이라 다른 코더들은 금방 이해할 부분이기에 상세한 설명이 없었던 듯하다. 허나 필자같이 까막눈에 일일이 검색에 의존해서 프로그램을 짜는 초보의 경우엔 기초가 부족해 늘 헤매기 마련이다.

네이버카페 api 요청변수 게시글 공개 설정 전체 공개로 글쓰기

네이버카페 api 글쓰기를 제작하면서 필자가 격었던 문제는 카페 글쓰기 변수를 지정하는 부분에서 어려움을 겪었다. 네이버 카페에 api 글쓰기를 통해 글을 쓰면 공개설정에서 맴버공개가 디볼트 값이다. 이 값을 전체 공개로 바꾸고 싶었다. 해당 변수 요청값은 이미 네이버 디벨로퍼즈에 공개되어 있었다. 이걸 잘 가공해서 코드 내에 입력만 하면 해결되는 문제다. 그런데 어떻게 가공해야 하는지 그리고 어디에 이 값을 넣어야 하는지 도무지 까막눈이라 해멜 수 밖에 없었다.무식하게 이곳저곳에 넣어보다가 몇시간을 고생한 끝에 마침내 성공했다. 누군가는 들으면 피식하고 웃을 일인지도 모른다. 허나 필자와 같이 까막눈 초보 코더를 위해 이 곳에 공유한다. 이 글은 파이썬을 기준으로 한다.


게시글 공개 설정 변수 값은 openyn이고 boolean 즉, true/false 형식의 변수다. 기본값이 false이기 때문에 값을 true로 지정해서 파라미터에 입력해 주면 api 게시글이 전체 공개로 발행이 된다. 

 

# 네이버 카페 Open API 예제 - 글쓰기
import os
import sys
import urllib.request
token = "YOUR_ACCESS_TOKEN"
header = "Bearer " + token # Bearer 다음에 공백 추가
clubid = "CLUB_ID" # 카페의 고유 ID값
menuid = "MENU_ID" # (상품게시판은 입력 불가)
url = "https://openapi.naver.com/v1/cafe/" + clubid + "/menu/" + menuid + "/articles"
subject = urllib.parse.quote("[subject] 네이버 Cafe api Test Python")
content = urllib.parse.quote("[content] 네이버 Cafe api Test Python")
data = "subject=" + subject + "&content=" + content
request = urllib.request.Request(url, data=data.encode("utf-8"))
request.add_header("Authorization", header)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)
    
## 출처 https://developers.naver.com/docs/cafe/api/ ##

위 코드 내용은 네이버 디벨로퍼에 소개된 예제이다. 이 코드 예제를 잘 가공하면 네이버 카페 api 글쓰기를 할 수 있다. 이 기본 베이스가 되는 코드에 위에서 확인한 게시글 공개 설정 변수값인 openyn의 값을 true로 지정해 주기만 하면 해결이 된다. 따로 변수를 지정해 입력해보기도 하고 requset내에 값으로 넣어보기도 하고 data에 넣어보기도 했다. 그런데 잘 되지 않았다. 정확한 위치와 입력 값을 어떻게 지정해야 되는지 모르는 상황에서 답답할 노릇이었다. 이 방법 저방법 시도한 끝에 data에 해당 값을 넣으면 정상 발행 되는 것을 확인했다. 아래와 같이 값을 넣어주면 공개설정에서 전체 공개가 된다.

# 네이버 카페 Open API 예제 - 글쓰기
import os
import sys
import urllib.request
token = "YOUR_ACCESS_TOKEN"
header = "Bearer " + token # Bearer 다음에 공백 추가
clubid = "CLUB_ID" # 카페의 고유 ID값
menuid = "MENU_ID" # (상품게시판은 입력 불가)
url = "https://openapi.naver.com/v1/cafe/" + clubid + "/menu/" + menuid + "/articles"
subject = urllib.parse.quote("[subject] 네이버 Cafe api Test Python")
content = urllib.parse.quote("[content] 네이버 Cafe api Test Python")
data = "subject=" + subject + "&content=" + content + "&openyn=" + "true" # "&openyn=" + "true" 게시글 전체 공개 // "&openyn=" + "true" 맴버공개시 삭제
request = urllib.request.Request(url, data=data.encode("utf-8"))
request.add_header("Authorization", header)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)

data 부분에 “&openyn=” + “true”가 추가된 것을 확인할 수 있다. 이 부분에 해당 값을 넣어주면 파라미터에 해당 값이 포함되 전송이 된다. 이 정도면 적어도 왠만한 이들은 다 이해할 수 있기에  상세한 설명은 생략하도록 하겠다.

 

[참고] 네이버 Developers 네이버 아이디로 로그인 카페 API 명세

Related Posts

티스토리 탈출 다양한 CMS(Content Management System) 종류 모음

카카오가 정말 실책을 해도 큰 실책을 했다.실책으로 봐야하는지도 의문이다. 황금알을 낳는 거위의 배를 갈랐으니 말이다. 자사 블로그 플랫폼인 다음 블로그를 없애고 티스토리로 통합하더니 수익형 블로그를 운영하는 티스토리에 강제로…

Intel CPU 보증기간 워런티 조회 방법

인텔 CPU는 고장이 나지 않는 걸로 정평이 나 있다. 오죽하면 국내에서 운영하던 통합 AS 센터가 고칠 CPU가 없다고 문을 닫았을까. 그럼에도 혹여나 있을 고장에 대비해 미리 보증기간을 알아…

ASUS 메인보드 바이오스 업데이트 방법 EZ 플래시 업데이트 (Prime H310M-A R2.0)

OS든, 시스템이든, 소프트웨어든 최신 업데이트가 있으면 즉각즉각 하는 편이다. 보안상의 문제점이 해결되고 뭔가 알지 못했던 문제점들이 고쳐진다는 믿음 때문이다. 메인보드 바이오스 같은 경우 업데이트가 자주 있지는 않다. 일년에…

컴퓨터 조립 메인보드 F_PANEL 프런트패널 케이블 연결 방법

컴퓨터 조립이 쉬운 듯하면서 은근히 까다롭다. 특히 선정리가 그렇다. 선정리에 익숙하지 않은 탓에 이 고생을 왜 하고 있지란 생각이 들 때도 있다. 그럼에도 직접 해냈다는 성취감으로 직접 조립을…

윈도우 설치시 “새 파티션을 만들거나 기존 파티션을 찾을 수 없습니다. 자세한 내용은 설치 로그 파일을 참조하세요.” 오류 해결 방법

최근 시스템을 업그레이드 하면서 SSD를 포맷을 하여 싹 밀어버리고 윈도우를 재설치하는 이른바 윈도우 클린 설치를 했다. 포맷하는 과정이 잘못됐는지 윈도우 설치 도중에 윈도우 설치 위치를 지정하는 단계에서 “새…

카카오톡 오픈채팅방 대화내용 저장 백업 방법

카카오톡은 기본으로 제공해야 할 기능인 백업 기능을 톡서랍이라는 이름으로 돈을 받고 즉 유료과금 형태로 서비스를 제공하고 있다. 그마저도 백업 기능이 완벽하지 않다. 카카오톡 오픈채팅방의 대화 내용은 톡서랍을 통해서…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다