엔지니어

Naver open api 카페 한글 깨짐 현상 (Python3)

Nj 2017. 9. 5. 19:34


예제를 따라하면 제 경우에는 한글이 깨집니다.



data = "subject=" + subject + "&content=" + content
request = urllib.request.Request(url, data=data.en

엄청 삽질하다가 결국 찾았습니다.

위에처럼 하면 안되고

아래처럼 해주면 잘 됩니다.


from urllib.parse import urlencode
 
    data = urlencode({'subject': subject, 'content': content}).encode()
    request = urllib.request.Request(url, data=data)

아래는 naver developers에서 제공하는 샘플코드입니다.


# 네이버 카페 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)

반응형

'엔지니어' 카테고리의 다른 글

[MYSQL] Join 치트쉬트  (9) 2017.09.11
[Maria DB] query에 "(double quotation mark)가 있으면 에러 발생 현상  (1297) 2017.09.08
.vimrc 설정하기 (set)  (10) 2017.04.25
.vimrc 설정하기  (10) 2017.04.24
AS와 S-CSCF간 연동 모드  (10) 2017.04.24