1
/
5

【GAS】Google App ScriptでAPIからGoogle スプレッドシートにデータを書き込む【株式会社ライトコード】

はじめに

スマホゲームの使用状況計測の結果をWebアプリからCSVでダウンロードし、Google スプレッドシートに貼り付けて分析するという業務があったが、
データ量が膨大で毎日2〜3時間かかっているという話を聞き、Google App Scriptを使って自動化したのでその時にやったことを記載していく。

Googleスプレッドシートにスクリプトを作成

まずはスプシを用意し、拡張機能 -> App Scriptを選択。
そうするとスプシに紐づいたGASが作成される。

GASでAPIからデータを取得

GASにはUrlFetchAppクラスが用意されており、APIとの通信やウェブスクレイピングができるようになっている。
URLのみで取得できるが、今回は認証キーが必要なAPIだったのでHTTPリクエストのヘッダーにセットして第2引数にわたす必要があった。

var url = 'APIのURL'


var headers = {
'Authorization': 'トークンキー'
};

var options = {
'method' : 'GET',
'headers' : headers,
};

var response = UrlFetchApp.fetch(url, options);

受け取ったレスポンスをJSONに変換し、スプシに書き込みやすい形へ成形

UrlFetchApp.fetrchから受け取れるのはHTTPResponseクラスになっており、扱いやすいようにJSONに変換する。
さらにそれをスプシに書き込むのに適した形に成形する。

var resJson = JSON.parse(response.getContentText());


// JSONから2次元配列へ成形
var values = res.map(content => {
return [
content.title,
content.id,
...
]
});

書き込むスプシを取得し、データを書き込む

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();


// A1から配列のサイズ分の範囲を指定し、データを書き込む
sheet.getRange(1, 1, values.length, values[0].length).setValues(values);

トリガーをセットする

左のメニューからトリガーを選択し、トリガーを追加する。
スプシの起動時や編集時の他に、何日おき、何時間おきなど実行するタイミングを設定できる。
今回は開いた時に実行されるようにトリガーを設定。

記事の続きは下のURLをクリック!

https://rightcode.co.jp/blogs/49652



エンジニア積極採用中です!

現在、WEBエンジニア、モバイルエンジニア、デザイナー、営業などを積極採用中です!

採用ページはこちら:https://rightcode.co.jp/recruit

社員の声や社風などを知りたい方はこちら:https://rightcode.co.jp/blogs?category=life

社長と一杯飲みながらお話しませんか?(転職者向け)

特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk

もっとワクワクしたいあなたへ

現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「営業」などを積極採用中です!

ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。

有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。

  • もっと大きなことに挑戦したい!
  • エンジニアとしてもっと成長したい!
  • モダンな技術に触れたい!

現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?

ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。

  • ライトコードの魅力を知っていただきたい!
  • 社風や文化なども知っていただきたい!
  • 技術に対して熱意のある方に入社していただきたい!

一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。

Invitation from 株式会社ライトコード
If this story triggered your interest, have a chat with the team?
株式会社ライトコード's job postings

Weekly ranking

Show other rankings
Like Hiroyuki Choshi's Story
Let Hiroyuki Choshi's company know you're interested in their content