본문 바로가기
Python

[파이썬] 카카오스토리 API 키 토큰 발급 및 자동 포스팅

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

먼저 파이썬으로 카카오스토리 API를 기반으로 하여 자동 포스팅을 하려면 API 키 발급이 먼저 있어야 된다.

그럼 먼저 카카오 로그인한 이후에 하기 사이트에서 카카오스토리에 해당 접근 권한 설정이 필요하다. 

 

파이썬 카카오스토리 API 키 토큰  발급

 

https://developers.kakao.com/console/app/569395/product/login/scope

 

아래 이미지에 나온 접근권한은 전부 "선택 동의"로 만들어 놓자.

안 그렇다면 파이썬을 기반으로 카카오스토리 API 키 발급 받더라도 포스팅 자체를 할 수가 없다.

 

카카오스토리 API 키 토큰 발급

 

이후에 하기 사이트에 가서 설정된 인증 앱을 클릭하고, 이에 토큰 발급을 클릭한다.

https://developers.kakao.com/tool/rest-api/open/get/v1-api-story-isstoryuser 

카카오스토리 API 키 토큰 발급

 

 

다음과 같은 선택 동의된 사항을 확인하고 확인 클릭한다.

Story_read, story_publish, story_permalink, talk_message 등의 항목은 반드시 클릭된 상태에서 확인을 눌러야한다.

 

카카오스토리 API 키 토큰 발급

 

밑에 해당 동의확인 확인하고 "동의하고 계속하기" 클릭한다.

동의하기를 클릭시 각 항목 부문을 클릭하고 제대로 되어 있는지를 확인한다. 문제 없으면 확인 버튼을 누르자.

카카오스토리 API 키 토큰 발급

 

그럼 최종 하기와 같은 토큰 발급 완료. 

이제 해당 토큰을 발급받았으니 이제 카카오스토리에 포스팅을 제대로 해봐야겠다.

카카오스토리 API 키 토큰 발급

 

 

파이썬 카카오스토리 API 키 발급받고 포스팅하기

 

이제 작성하러 가볼까? 먼저 정상 작동되었는지 확인해보자. 

access_token 내에 발급받은 토큰을 입력하고, 이외 header 영역 내 Bearer 한칸 띄고 토큰입력을 진행하면 된다.

이후에 response 응답 코드가 200 코드로 반환시 정상 작동 확인됨과 동시에 해당 결과물 출력된 것을 확인할 수 있다. 

 

import requests
import json

#인증정보

#https://developers.kakao.com/tool/rest-api/open/get/v1-api-story-isstoryuser 
#카카오 로그인 이후 해당 url에서 액세스 토큰 발급 받아야됨

url = "https://kapi.kakao.com/v1/api/story/isstoryuser"  #카카오스토리 사용자인지 확인

access_token ='' #토큰입력

#url = 'https://kapi.kakao.com/v1/api/story/profile' 프로필 가져오기

#queryString = {'query' : '굿모닝'}
header = {'Authorization': 'Bearer 토큰입력'}  #해당 발급받은 액세스 토큰 입력

response = requests.get(url, headers=header)
tokens = response.json()

print(response) #응답  200시 인증완료
print(tokens) #결과물 출력시 완료

#확인 완료(하기같이 Responese 200이 나오면 완료된거임)

<Response [200]>
{'isStoryUser': True}

 

이제 작성하러 가볼까? 먼저 밑의 내용은 이미지를 테스트성으로 카카오스토리 API를 통해 업로드하는 방식이다.

카카오스토리는 기본 인스타그램과 같이 "해시태그" 가 있으며, 해당 해시태그 기반으로 업로드시 최신 게시물로 보여지는 형식이다. 이에 하기와 같이 마찬가지로 access_token 과 header 값 내 Bearer 토큰 입력 부문에 토큰을 입력하여 보내면은 정상적으로 이미지 포스팅이 가능해진다.

 

이후 결과물에 post_result가 Response 200 코드가 나올시 정상적으로 반영된 것이다.  이후 해당 내용을 웹사이트에서 정상적으로 기록되었는지만 확인하면 완료.  이제 카카오스토리 API를 통해 포스팅이 가능해진 것이다. 

import requests
import json

#인증정보

upload_photo_url = 'https://kapi.kakao.com/v1/api/story/upload/multi'
post_photo_url = 'https://kapi.kakao.com/v1/api/story/post/photo'

access_token ='' #해당 계정 토큰 입력

header = {'Authorization': 'Bearer #해당 계정 토큰 입력'}  #해당 계정 토큰 입력

files = {'file': open('C:/Users/tera/Desktop/업무/test.jpg', 'rb')} #파일주소

upload_result = requests.post(upload_photo_url, headers=header, files=files)

#print(upload_result)

#url='http://dn-l1-story.kakao.co.kr/dn/snD5Z/hyN5GynbFQ/tBQwAIdseoCThb7DlK8qgK/img.jpg?width=780&height=2596'

content='안녕하세요, 테스트입니다.'  #본문문구입력
content+=' #테스트 #테스트2'  #본문문구입력

post_photo_payload = {'image_url_list': upload_result.text,  #이미지업로드
                     'content' : content} #컨텐츠

post_result = requests.post(post_photo_url, headers=header, data=post_photo_payload)

#response = requests.get(url, headers=header)
#tokens = response.json()

#print(response) #응답
#print(tokens) #결과물

#확인 완료

print(post_result) #완료

#<Response [200]> 일시 제대로 반영됨.

 

 

 

반응형

댓글