본문 바로가기
코인/코인원API

코인원 API 엑셀 적용 방법 잔고 조회 내 보유 코인 정리 - VBA

by 큐브빌드 2021. 5. 6.
반응형

코인원 API 신청하기

가장 먼저 코인원 API를 신청하셔야 합니다.

 

물론 API가 없이도 가능한 부분이 있지만 API가 필요한 부분을 다룰예정입니다.

 

일단 코인원 사이트에 로그인 후 아래쪽으로 쭈욱 내려보시면

 

API 설정 버튼을 선택합니다.

 

새로운 키를 발급받습니다.

이번에는 V1으로 사용할 예정입니다. V2는 조금 더 공부한 후 블로그 하겠습니다.

그래서 안전한 사용자 조회로 잔고 조회를 할 예정입니다.

 

그러면 이메일로 Access Token이 도착합니다.

 

그러면 해당 Access Token을 사용해서 엑셀에 적용해보겠습니다.

 

그리고 API 문서를 선택하여 이동하였습니다. 

 

근데 전부다 영문입니다. 

 


자산 조회하기

API 문서를 찾아보니 Account > Balance 가 자산 조회를 하는 부분입니다.

 

Resopnse Samples 확인하여 알게 되었습니다.

 

그러면 레퍼런스 코드를 확인하겠습니다.

 

아래는 파이썬 코드 예제입니다. 물론 저는 파이썬으로 사용할 수 있기 때문에 문제없이 사용 가능합니다.

from urllib.parse import urlencode

import httplib2



ACCESS_TOKEN = '{access token}'




def get_response(action, parameters):

    url = '{}{}'.format('https://api.coinone.co.kr/', action)

    if parameters:

        url = '{}?{}'.format(url, urlencode(parameters))



    http = httplib2.Http()

    response, content = http.request(url, 'GET')



    return content




print(get_response(action='v1/account/balance', parameters={

    'access_token': ACCESS_TOKEN,

}))

하지만 저는 엑셀이 편하기 때문에 엑셀에다가 옮겨 넣을 예정입니다.

 

어떻게 옮겨 넣는지 과정을 한번 보여드리려고 합니다.

 

근데 파이썬을 하는데 httplib2를 설치해야 돼서 설치했습니다.

 

혹시라도 파이썬으로 해보고 싶으신 분은 조만간 파이썬으로 하는 것도 알려드리겠습니다.

 

이런 식으로 디버깅해서 어떤 텍스트가 사용되는지 확인하면서 진행했습니다.

 

VBA에 옮겨 넣겠습니다.

 

VBA에 적용하기 위해서는 도구 > 참조 > Microsoft WinHTTP Services, Version 5.1을 체크하셔야 합니다.

 

 

Sub CoinOne()


Dim WHTTP As New WinHttp.WinHttpRequest





Access_token = "어세스키"




get_response Action, Parameters, Access_token



Url = "https://api.coinone.co.kr/" & Action & "?" & Parameters



WHTTP.Open "get", Url


WHTTP.Send


WHTTP.WaitForResponse


ResultText = WHTTP.responseText ' 결괏값


End Sub




Sub get_response(ByRef Action, ByRef Parameters, ByRef Access_token)


Action = "v1/account/balance"


Parameters = "access_token=" & Access_token


End Sub


생각보다 심플하게 끝났습니다.

 

나오는 값을 파싱 하여 정리하면 코인원의 내 자산이 모두 정리됩니다.

 

"krw":{"avail":"0.0", "balance":"0.0"}

이렇게 1개의 코인(재화)에 대해 값이 나옵니다.

 

krw : 현금

avail : 사용 가능한 금액

balance : 보유한 모든 금액

 

입니다.

반응형

댓글