Google Apps Script(GAS)は、Googleのさまざまなサービスを自動化し、ビジネスやプロジェクトの効率化に役立つ強力なツールです
GASは、環境構築がいらず、基本言語がJavaScriptで構成されているため、初心者におすすめのプログラミング言語なのですが、「何から始めたらいいの?」とお悩みの方もいるかと思います
そこで、本記事では実際に仕事でGASを扱っている私が、このような悩みを抱えている方に向けて、GASについて解説していきたいと思います!
この記事を読めば、GASとは何かを学びを深められること間違いなしです!
では、さっそく解説していきたいと思います
GASとは?
このサービスを端的に言うと、GoogleスプレッドシートやGoogleドキュメントといった各種サービスの自動化や、様々なWeb APIとの連携を行うことのできる、Googleが提供する統合開発ツールです。
そもそも「GAS」って何なの?
GASとはGoogle Apps Scriptの略語のことだよ
GASとはGoogle Apps Scriptの略語です
(※以下、本記事では「GAS」と表記)
GASについて解説する前に、まず「Google Workspace」と「API」について解説します
Google Workspace
Google Workspace(グーグルワークスペース)とは、Gmail、Googleドライブ、Googleフォームなどの多様なツールがパッケージされたGoogle社が提供するビジネス向けのクラウド型グループウェアサービスのことです
世界中のどこにいても、同じクラウド上で仕事をすることができ、データは安全にクラウド上で管理され、デバイスや場所を選ばずにアクセスできるという優れものです
あっ僕も使っているサービスがある!
社会人なら、ビジネスの場で一度は使ったことがあるんじゃないかな?
「Google Workspace」という言葉に耳馴染みがないかもしれませんが、実は誰もが一度は使ったことがある便利なツールなんです!
そして、「GAS」とは、Google Workspaceとの相性が抜群に良いんです!
「GAS」をマスターすれば、Googleスプレッドシートの自動化、Googleドライブ内のファイル整理等の業務効率化が図れます
API
APIとは「Application Programming Interface」の略語で、事前に定義した形式に従って「リクエスト」することで「レスポンス」を返す仕組みを指します
例えば、「東京駅」の郵便番号は「〒100-0005」なんだけど、「〒100-0005の郵便番号のAPIを確認する」というリンクをクリックすると、「〒100-0005」に紐づく住所の情報が得られます
上記URLは、郵便番号(zipcode)を指定して、特定の郵便番号に関連する住所情報を取得するためのWeb APIへのリクエストです
例えば、通販サイトで郵便番号を入力すると、住所が自動入力された経験はありませんか?
それは、通販サイト側が、上記のような郵便番号検索APIを利用していて、ユーザーが郵便番号を入力することで、サイトはAPIを介して、事前登録された郵便番号と紐づく住所情報を取得し、フォームに自動的に記入しているのです
APIは、このように特定の情報を取得したり送信したりするために使用され、通常、プログラムやウェブサイト内でよく利用されています!
なるほど!
でも「API」って「GAS」に何の関係があるの?
「GAS」のすごいところは、様々なAPIサービスと連携できることなんだ!
「GAS」で実現できること
順番に解説していきます
Googleの各種サービスとの連携
GASはGoogleが提供するだけあり、Googleの各種サービスとの相性は言うまでもありません
例えば、ExcelマクロのようなGoogleスプレッドシートの自動化、Googleドライブ内のファイル整理など、サービス単独はもちろん、複数サービスを組み合わせて業務の効率化を行うことができます
あれできないかな、これできないかなと思ったことは「GAS」を使えば大抵できます!
Web APIを用いてGoogle外のサービスとの連携
GASは外部ウェブAPIと連携でき、データの収集、処理、表示が可能です
この機能をGASで活用することで、たとえば、ウェブアプリケーションを作成し、ユーザーが郵便番号を入力すると、その場で該当する住所情報が表示されるようなサービスを提供できます
GASはJavaScriptをベースに作られており、 UrlFetchApp
クラスを用いることで外部サービスと連携することができます
例えば、先ほど例に出した住所情報を取得したい場合、以下のように住所情報をJSONデータとしてGASの中で扱うことができます
function main() {
let response = UrlFetchApp.fetch('https://zipcloud.ibsnet.co.jp/api/search?zipcode=1200034');
/**responseの中身
{
"message": null,
"results": [
{
"address1": "東京都",
"address2": "千代田区",
"address3": "丸の内",
"kana1": "トウキョウト",
"kana2": "チヨダク",
"kana3": "マルノウチ",
"prefcode": "13",
"zipcode": "1000005"
}
],
"status": 200
}
*/
let resJson = JSON.parse(response.getContentText());
console.log(resJson['results'][0]['address1']);
console.log(resJson['status']);
}
//実行結果
東京都
200
外部APIをGASと組み合わせることで、自分のプロジェクトやウェブアプリケーションに外部データを取り込むことができ、データの収集と処理が簡単になります
Webアプリケーションの構築やライブラリの構築
GASではスクリプト(.gs)とHTML(.html)の2つのファイルを作成することができ、フロントエンド部をHTMLがバックエンド部をスクリプトが担うことで、Webアプリケーションを構築することが可能です
また作成した部品群をライブラリとしてデプロイすれば別のGASファイルから利用することもできます
さらに、GASで作成したWebアプリケーションはGoogleのサーバ(ドメインは script.google.com
)上にデプロイされるため、追加でサーバを用意する必要はありません。私はこれまでGASを用いて小規模なWebアプリケーションを50本以上リリースしましたが、一切費用が発生していません
こんなサービスが無料で使えるなんて冷静に考えて頭おかしい…笑
簡単なWebアプリケーション構築の一例
パスワード文字数や、使う記号、何個作るか等…ランダムにパスワードを生み出せるという簡単なWebアプリケーションです
これくらいのアプリケーションであれば30分程度でデプロイまで完了することができます!お手軽!
GAS×APIでできること
API連携をフル活用して、LINEチャットボットを作ってみました!
「API連携でこんなこともできるのか!」と体感できると思います
無料なので気軽に友だち登録して遊んでみてください
ユーザーからのリクエスト内容に応じて、リアルタイムで処理を行うことができます!
やっぱり、GASはすごいぜ!
GASを利用すれば、LINEチャットボットのような応答型アプリケーションを容易に構築することができます!
GASでできないこと
逆にGASでできないことってあるの?
う~ん
GASで、できないのはこんなカンジかな
GASは一回の処理に対して6分間までという実行制限があるため、長時間かかる処理には向きません
例えば、複雑な科学計算やビデオレンダリングなど、処理に時間がかかるタスクはGASで実行するには制約が多すぎます 長時間かかる処理が必要な場合は、別のプラットフォームやツールを検討することが重要です
GASはクラウド上ですべての処理を実行するため、ローカルファイルへのアクセスはできません
無償がゆえの実行制限はありますが、中小規模アプリケーションならば気にする必要がないレベルのものです
まとめ
「そもそもGASって何?」という疑問に対して、GASの可能性や活用事例、起動の仕方など、GASのコーディング方法よりも知識を重点的に解説してみました
次回以降ではGoogleの各種サービスへのアクセス方法はもちろん、GASの制約事項といった知識も交えながらお伝えします!
X(旧:Twieer)にて、ブログの更新やQiita記事の更新、GAS情報をお届けしますので、是非フォローしてください!
おかげさまで今年5月に起業しました!
GASやGoogleサービス、プログラミング全般のご相談承ります!
YouTubeでGoogleサービスをより
快適に使う方法をご紹介しています!
見て頂けたらうれしいです
コメント