記事一覧 言語まとめ iosプライバシーポリシー

【CoinMarketCap API】【GAS(Google Apps Script)】暗号通貨の値段取得をしてみる Part2

前回、APIの使い方については記事にしました。
今回はCoinMarketCap APIとGAS(Google Apps Script)を使用して定期的に自動で価格を取得できるようにしたいと思います。

前回の記事を読んでいない人はこちら
aj-okamoto.hatenablog.jp

■今回やりたいこと

①GASでCoinMarketCap APIを使用して暗号通貨の値段を取得する。
Googleスプレッドシートに取得した値段を追記する。
③毎日定期的に実行する。

■実際に作っていきます。

1.Google DriveGoogleスプレッドシートを新規作成する

右クリック > Googleスプレッドシート > 空白のスプレッドシート を選択する。

スプレッドシート作成
2.スプレッドシートにGASを追加する

拡張機能 > Apps Script を選択する。

GAS追加
3.functionを作成する。

今回はBTCとUSDCの値段を取得して最後の行に追記する内容となっています。

  // 出力するシートを取得する
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('シート1');

  // 最終行の番号を取得
  const lastRow = sheet.getLastRow();

  // リクエストヘッダー
  var requestHeaders = {
    'Accepts': 'application/json',
    'X-CMC_PRO_API_KEY': ★APIキー,
  }
  
  // リクエストオプション
  var requestOptions = {
      'method' : 'get',
      'headers' : requestHeaders
  }
  
  var requestUrl = "https://pro-api.coinmarketcap.com/v2/cryptocurrency/quotes/latest?symbol=BTC,USDC&convert=JPY"

  // リクエスト実行
  var response = UrlFetchApp.fetch(requestUrl, requestOptions)

  // 結果をjsonとして取得する
  var json = JSON.parse(response.getContentText());

  // 末尾に現在日時を追記する
  const now = new Date();
  var range = sheet.getRange(lastRow + 1, 1);
  range.setValue(now).setNumberFormat('yyyy/MM/dd HH:mm:ss');

  // 現在日時の右に価格を追記する ※getRange(開始行、開始列、行数、列数)
  var range = sheet.getRange(lastRow + 1, 2, 1, 2);
  range.setValues([[
    json.data.BTC[0].quote.JPY.price,
    json.data.USDC[0].quote.JPY.price,
  ]])
4.実行してみる

実行するたびに行が追加されるはずです。

GAS実行結果

ヘッダ等を手動で追加すれば良い感じになります。

最終系
5.定期実行する

GASのトリガーを選択して新規トリガーを作成します。

トリガー

今回はトリガーは毎日実行したいのでこのように設定します。
※実行する関数の名前については先ほど作成した関数名にあわせてください。(デフォルトだとmyFunctionとなっているはずです)

トリガー設定


これで毎日値段を自動的に取得して記録してくれるようになります。
今回はBTCとUSDCのみにしていますが、カスタマイズして使用してください。


個人制作アプリリリース中「TimePost」
Download on the App Store
個人制作アプリリリース中「UrlReader」
Download on the App Store