【Google Apps Script】그 7 비트코인의 최종 거래 가격을 취득한다

이 기사는 Google Apps Script를 실례로 섞어서 기초에서 자세하게 배운다 Advent Calendar 2017 7일째 기사입니다.

본 어드벤트 캘린더는 @rt_p의 개인 프로젝트이지만, 필자는 Ateam Brides Inc. Advent Calendar 2017에도 참가하고 있습니다. 그쪽에서도 출장판 기사를 쓰고 있으므로, 들여다 주시면 기쁩니다.

소개



최근 화제의 가상 통화.
그 대표적인 비트코인 ​​가격을 스프레드시트로 자동 취득해 보고 싶습니다.

이번에는 대표적인 거래소인 bitflyer의 API를 이용합니다.



API를 두드리는



htps : // 아피. tfぇr. jp/v1/치케케 r

위 URL을 브라우저에서 열면 ltp(최종 거래 가격)가 포함된 Ticker가 JSON에서 반환됩니다.

참고 : htps : // ぃght 마늘 g. tfぇr. jp / 어떤 cs?ぁ g = 그럼 # ch c r

즉 이 API에 GAS로부터 요청을 보내, 받은 JSON 데이터를 성형하면 스프레드시트에 전기할 수 있을 것 같네요.

스크립트 편집기 열기



먼저 스프레드시트를 새로 만듭니다.

그런 다음 스크립트 편집기를 열고 다음 코드로 바꾸고 실행합니다.
스크립트 편집기를 여는 방법과 승인이 필요합니다. 메시지가 나왔을 때 해결책을 모르는 경우
어드벤트 캘린더 첫날 Hello, world! 기사을 참조하십시오.

get_bitcoin.gs
function myFunction() {
  var bitCoinData = getBitCoinData();
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange('A1:B1').setValues([[bitCoinData['ltp'], new Date()]]);
}

function getBitCoinData() {
  var url = 'https://api.bitflyer.jp/v1/getticker';
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  return JSON.parse(json);
}

실행 결과는 다음과 같습니다 (실행 타이밍에 따라 최종 거래 가격과 날짜와 시간은 당연히 변동합니다).



하는 일은 매우 간단합니다.getBitCoinData()를 호출하고 그 중에서 UrlFetchApp.fetch()를 호출합니다.

fetch(url)


이것은 URL에 요청을 보내고 HTTP 응답 데이터를 반환하는 간단하고 강력한 기능입니다.
이번은 간단하게 요청을 보냈을 뿐입니다만, 파라미터를 포함하거나 GET가 아니라 POST로 보내거나, 헤더를 포함하거나…등, curl 커멘드와 같은 사용법을 할 수 있습니다. 앞으로의 기사에서 접해 갑니다.

이번에는 UrlFetchApp.fetch() 에 의해 bitflyer의 API에서 Ticker 데이터가 JSON으로 반환되었습니다.
그것을 JSON에 parse하고 setValues() 에서 스프레드 시트에 설정하는 간단한 구현입니다.

본래는, 보다 정확한 시각(Ticker 데이터의 timestamp)을 일시로서 setValue 하고 싶은 곳입니다만, 4일째 날짜 형식 기사 에서 현재 날짜와 시간을 설정합니다.
new Date() 는 2차원 배열을 전달해야 하므로 setValues() 로 둘러싸여 있는 점에 주의하십시오.

이번은 짧지만 이상입니다.

결론


[[]] 는 매우 자주 사용하는 기능이므로 향후 기사에서 많이 나올 예정입니다.

본 어드벤트 캘린더는, 1일째~9일째당은 기초편으로 GAS에 관한 기본적인 조작을 소개해 갑니다.
10일째 이후는 응용편이라고 하는 것으로, 실제로 만든 어플리케이션과 그것에 관한 기술의 소개가 됩니다. 기대하세요!

내일



【Google Apps Script】그 8 스크립트의 정기 실행한다
됩니다.
이번 스크립트를 자동 실행해, 1분마다의 가격을 기록해 가는 구조를 만듭니다.

이전 기사
【Google Apps Script】 그 6 스프레드 시트를 누가 언제 열었는지 기록한다
다음글
【Google Apps Script】그 8 스크립트를 정기 실행해, 비트코인의 1분마다의 가격을 자동 취득한다

좋은 웹페이지 즐겨찾기