먼저 파이썬으로 카카오스토리 API를 기반으로 하여 자동 포스팅을 하려면 API 키 발급이 먼저 있어야 된다.
그럼 먼저 카카오 로그인한 이후에 하기 사이트에서 카카오스토리에 해당 접근 권한 설정이 필요하다.
파이썬 카카오스토리 API 키 토큰 발급
https://developers.kakao.com/console/app/569395/product/login/scope
아래 이미지에 나온 접근권한은 전부 "선택 동의"로 만들어 놓자.
안 그렇다면 파이썬을 기반으로 카카오스토리 API 키 발급 받더라도 포스팅 자체를 할 수가 없다.
이후에 하기 사이트에 가서 설정된 인증 앱을 클릭하고, 이에 토큰 발급을 클릭한다.
https://developers.kakao.com/tool/rest-api/open/get/v1-api-story-isstoryuser
다음과 같은 선택 동의된 사항을 확인하고 확인 클릭한다.
Story_read, story_publish, story_permalink, talk_message 등의 항목은 반드시 클릭된 상태에서 확인을 눌러야한다.
밑에 해당 동의확인 확인하고 "동의하고 계속하기" 클릭한다.
동의하기를 클릭시 각 항목 부문을 클릭하고 제대로 되어 있는지를 확인한다. 문제 없으면 확인 버튼을 누르자.
그럼 최종 하기와 같은 토큰 발급 완료.
이제 해당 토큰을 발급받았으니 이제 카카오스토리에 포스팅을 제대로 해봐야겠다.
파이썬 카카오스토리 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]> 일시 제대로 반영됨.
'Python' 카테고리의 다른 글
[파이썬] python 주피터 노트북 폰트 변경 (0) | 2022.06.10 |
---|---|
[python] 파이썬 다운로드 및 설치 가이드 (아나콘다) (0) | 2022.06.10 |
[파이썬] 트위터 API 자동 포스팅을 위한 API Key 발급받기 (0) | 2022.06.10 |
[Python] 쿠팡 상품 키워드 Top 10 리스트 크롤링, 숏츠 링크 생성 엑셀 파일 저장하기 (3) | 2022.06.06 |
[Python] 파이썬 쿠팡 파트너스 API 활용하기 (0) | 2022.06.05 |
댓글