파이썬과 SDS를 통해서 특정 기간 동안의 계정 이력(account history)을 조회할 수 있습니다. 우선 SDS API 활용에 대한 기본적인 내용은 아래의 링크를 참고하시기 바랍니다.
계정 이력 조회와 관련된 SDS API 설명서는 아래의 링크입니다.
https://sds1.steemworld.org/describeMethod/account_history_api.getHistoryByOpTypesTime
이 API는 특정 계정에 대하여 특정 종류의 오퍼레이션(operation)을 수행한 이력을 조회합니다. 조회기간은 유닉스 타임스탬프(unix timestamp) 형식으로 지정하며, 요청 형식은 아래과 같습니다.
https://sds1.steemworld.org/account_history_api/getHistoryByOpTypesTime/[account]/[op_types]/[start_timestamp]-[end_timestamp]/
아래의 예시는 파이썬의 requests 모듈을 이용해서 1시간(3600초)전부터 현재 시점까지 @joviansummer의 포스팅/댓글 작성 이력를 조회하는 경우입니다. 오퍼레이션 종류를 2개 이상 지정할 경우엔 쉼표(,)로 구분하며 포스팅/댓글은 "comment", 보팅은 "vote"입니다.
import requests
import json
import datetime
# 대상 계정
steem_id = 'joviansummer'
# 오퍼레이션 종류
op_types = 'comment,vote'
# 현재 시각
now = datetime.datetime.now()
# 타임스탬프 형식으로 변환
now_ts = int(now.strftime("%s"))
# 1시간 전: 현재 시각에서 3600초 이전
one_hour_ago_ts = now_ts - 3600
sds_url = 'https://sds1.steemworld.org/account_history_api/getHistoryByOpTypesTime/' + steem_id + '/' + op_types + '/' + str(one_hour_ago_ts) + '-' + str(now_ts)
response = requests.get(sds_url)
res_dict = json.loads(response.text)
# 결과값 구성 형식 출력(columns)
print(res_dict['result']['cols'])
# 각 오퍼레이션 정보 출력(rows)
for item in res_dict['result']['rows']:
print(item)