cryptocurrency의 보유 자산을 정기적으로 이메일로 수신

경위



・저금통장을 바라보는 것을 좋아한다
· 모처럼 놀이의 범위에서 가상 통화를 사고 싶다.

선인의 분들은 매매용의 API등을 이용해 자동화 등을 하고 있을까 생각합니다만 이번은 어디까지나 현재의 보유 자산을 보고 「헤ー, 혼」이라고 되는 것만을 만듭니다.

이용 서비스



· Zaif Exchange API (htps // // rp. 자이 f. jp/아피도 cs/)
Zaif라는 가상 화폐 거래소가 제공하는 RESTAPI입니다.
현재 가상 화폐의 가격을 취득합니다.

・GoogleAppsScript( htps : //에서 ゔぇぺぺrs. 오, ぇ. 이 m / 아 ps-sc 리 pt / )
Google이 제공하는 서버리스에서 실행되는 Javascript 기반 서비스입니다.
여기에서 ZaifAPI를 호출하여 현재 총 자산을 계산하고 Gmail로 메일을 보냅니다.

코드



zaif.gs
//保有資産
xem = xxxx.xxxx
btc = xxxx.xxxx
mona= xxxx.xxxx
eth = xxxx.xxxx
zaif = xxxx.xxxx

//購入時金額
purchase_price_xem = 10
purchase_price_btc = 10
purchase_price_mona = 10
purchase_price_eth = 10
purchase_price_zaif = 10

///API URL
btc_url = "https://api.zaif.jp/api/1/ticker/btc_jpy"
xem_url = "https://api.zaif.jp/api/1/ticker/xem_jpy"
mona_url = "https://api.zaif.jp/api/1/ticker/mona_jpy"
eth_url = "https://api.zaif.jp/api/1/ticker/eth_jpy"

function calc_asset(asset, url, buy){
  res = UrlFetchApp.fetch(url)
  ticker = JSON.parse(res.getContentText())
  last = ticker['last'] * asset
  high = ticker['high'] * asset
  low = ticker['low'] * asset

  str = "    最新値            :" + last + "\n"
  str = str + "直近24時間最高値:" + high + "\n"
  str = str + "直近24時間最低値:" + low + "\n"
  return str
}

function myFunction() {
  mail_body = ""

  header = "* * * BTC * * *\n"
  body = calc_asset(btc, btc_url, purchase_price_btc)
  footer = "* * * * * * * * *\n\n\n"

  mail_body = header + body + footer

  header = "* * * XEM * * *\n"
  body = calc_asset(xem, xem_url, purchase_price_xem)
  footer = "* * * * * * * * *\n\n\n"
  mail_body = mail_body + header + body + footer

  header = "* * * ETH * * *\n"
  body = calc_asset(eth, eth_url, purchase_price_eth)
  footer = "* * * * * * * * *\n\n\n"
  mail_body = mail_body + header + body + footer

  header = "* * * MONA * * *\n"
  body = calc_asset(mona, mona_url, purchase_price_mona)
  footer = "* * * * * * * * *\n\n\n"  
  mail_body = mail_body + header + body + footer

  Logger.log(mail_body)
  MailApp.sendEmail('[email protected]', '仮想通貨保有資産のお知らせ', mail_body);

}

내용은 매우 간단합니다.
res = UrlFetchApp.fetch(url)
ticker = JSON.parse(res.getContentText())

UrlFetchApp.fetch에서 지정된 URL에 액세스하여 ticker 정보를 검색합니다.

반환값은 아래와 같이 되어 있으므로

JSON 사전을 반환합니다.

last – last price : 종가
high – last 24 hours price high : 지난 24시간의 고가
low – last 24 hours price low : 지난 24시간 저렴
vwap – last 24 hours volume weighted average price : 지난 24시간의 가중 평균(자세한 내용은 아래)
volume – last 24 hours volume : 지난 24시간의 시간
bid – highest buy order : 매도 가치
ask – lowest sell order : 매도배치

현재 가지고 있는 자산과 종가나 최근의 고가 등을 합친 문장을 작성
MailApp.sendEmail('宛先', 'Title', 'Body');

에서 Gmail로 보냅니다.

실행하면 메일이 전송됩니다.
실제로 보내 온 메일이 여기


이것을 시간 주도형으로 이벤트 트리거를 설정해 두면 12시간마다 통지 메일이 도착하게 됩니다.

끝에



확장의 후보로서 매매 API의 추가나 스프레드시트의 내보내기 등 해 봐도 즐거운 것이 아닐까 생각합니다.
web통장보다 실제의 통장을 보는 쪽이 두근두근하기 때문에 엑셀 보내면 통장 만들어 주는 서비스라든지 없을까라고 생각하면서 썼습니다.

이상, 끝까지 감사합니다.

좋은 웹페이지 즐겨찾기