Google Apps Scriptとは?基本的な使い方と気を付けるべきポイントを解説
この記事を書いている時、ぽかぽかと春の陽気に包まれながら昔の記事でも読み返すか〜と読んでいて思ったことがあります。
「Google Apps Scriptの詳細、記事にしてないなぁ…!」
というわけで今回は、原点に戻ってGoogle Apps Scriptについて掘り下げてお話ししていきたいと思います!
Google Apps Scriptとは?
Google Apps Script(GAS)とは、Googleによって開発されたスクリプトプラットフォームである軽量のアプリケーション開発のためのGoogleのワークスペースプラットフォーム。 主にGoogleのサービスを自動化するスクリプト言語である。
(Wikipedia参照)
どういうものかというと、Googleが提供しているサービス同士を簡単に接続させることができる優れものなのです。
例えばGmailで決まった相手からのメールをGoogleスプレッドシートに記載していったり、Googleカレンダーに登録されている誕生日をGmailでお知らせしたり様々なことができます。
また、Webhook*などを利用すれば外部ツールにも簡単に接続することもできます。
私がDiscordでBotを作った際もDiscord上で発行したWebhookを用いて作成しています。
*. Webアプリケーション同士が通信するための仕組みのこと
使用言語としてはJavaScriptがもとになっているため汎用性が高く、幅広い開発が可能です。
しかしGAS専用の特殊関数があるため、一部の書き方に注意が必要です。
どのページから使えるのか
前はGoogleのプロダクト一覧からGASのトップページに移動できたのですが、いつのまにか削除されており今現在トップページに移動する手段がほぼ無い状態です。
「google apps script」と一言一句間違いの無いよう検索し英語のページ(https://www.google.com/script/start/)からやっとップページに移動できます。
またスプレッドシート、ドキュメント、スライド共通で上部ツールバーから「拡張機能」→「Apps Script」と移動することで、作成したファイルに紐づいたGASプロジェクトを作成することができます。
他人が公開しているアプリを使うことはできるのか
GASの編集画面右上に「デプロイ」といういわゆる「公開ボタン」機能があります。
これを実行するとweb上でウェブアプリ・ウェブサイトとして公開することができ、公開範囲も設定することができます。
制限なく公開されたウェブアプリ・ウェブサイトは誰でも利用できますが、GASのコード自体をコピーしたりすることはできません。
実行はどのように行うのか
先ほど記述した「デプロイ」は外に公開するものですが、定期的にバックグラウンドで実行することも可能です。
GASプロジェクト内サイドバーのトリガーから毎月・毎週・毎日などのスパンで定期実行することができます。
有料版Google Workspaceとの違い
全ての機能が無料のGoogleアカウントで使えますが、有料のGoogle Workspaceに登録すると機能を実行できる「回数や時間」が変わってきます。
例えば「1日あたりの作成した関数を実行できる時間」や「カレンダーに予定を追加できる件数」に差があったりします。
制限の一覧は下記の公式ドキュメントにて確認できます。
危険性はあるのか
GASの関数の中には「ユーザーを管理」する関数があります。
この関数はアカウントを生成・削除のほかパスワード変更などが可能です。
この関数を使ったウェブアプリを安易に公開したり、公開したウェブアプリを悪用されると情報漏洩や不正ログインにつながる恐れがあります。
また自分が公開しなくとも他人が公開しているアプリに「ユーザーを管理」する関数の記述があり、そのアプリを使用する場合は同じく情報漏洩や不正ログインにつながる恐れがあるので注意が必要です。
終わりに
いかがでしたか?
基本的にはJavaScriptでの記述になるので、学生さんや勉強したての方はGASはかなり面白い練習台になるのではないかな〜と思ったりしています。
興味が湧いた方は是非過去の記事も見ていってください ↓↓↓
エンジニア/O.H