Google Apps Script入門~基本的なスクリプト作成~
Google Apps Scriptとは
初めにGoogle Apps Scriptについてどのようなサービスか紹介していきたいと思います。Google Apps ScripはGoogleが提供しているGmailやGoogleカレンダー、Googleマップなどといった、Googleのツールやサービスを連携して利用できるプログラミング言語です。以下の7つのようなサービスやツールと連携して活用できます。
- Gmail
- Googleカレンダー
- Googleドキュメント
- Googleスプレッドシート
- Googleスライド
- Googleマップ
- Googleマップ
99.9% の稼働率が保証されており、無料で利用できるので、プログラミング言語に用いる開発環境の構築が必要ありません。なので事業で用いる場合は初期投資を非常に安く済ませることができます。
プログラミングについて学習してみたいという初心者の方もプログラミング用のエディタも搭載されていたりと、便利ツールが用意されているので素早くコードの学習に移ることができます。
Google Apps Scriptのできること
ここからは、Google Apps Scriptを利用することでどのようなことができるかを紹介していきます。
外部サービスとの連携ができる
先述したようにGoogle Apps ScriptはGoogleが提供するサービスと自由に連携ができますが、他のWebサービスとも自由に連携することも可能です。例をあげると以下の5つがあります。
- チャットワーク
- LINE
- IFTTT
- Slack
それぞれのサービスが提供しているAPIをGoogle Apps Scriptで利用するだけですぐに連携可能になります。LINEと連携するとチャットボットを開発できたり、Slackでは特定のツイートだけを自動投稿したりといったことができるようになります。
プログラムの自動化
通常PCで作成したプログラムはパソコンの電源をOFFにすると同時にOFFのなるになってしまうので実行できません。しかしGoogle Apps Scriptの場合はプログラムがGoogleのサーバー上に保管されているのでいつでも実行することができます。このことから定期的に同じプログラムを自動実行させることが可能になり、以下の2つのようなプログラムを開発することができます。
- 毎朝8時にチーム全員へ特定のメールを配信する
- ニュース情報を3時間毎に取得してチャット投稿する
Webサイトからの情報収集(スクレイピング)
スクレイピングとは、Webサイトから特定の種類の情報をコピーし、集めることです。商品の情報と価格、画像などを収集することができます。
Pythonなどを使って定期的にスクレイピングをする場合には、サーバーを借りたりローカルのPCの電源を常時付けておいたりと手間がかかってしまいます。しかし、Google Apps ScriptではIMPORTXML関数を利用すると、非常に簡単にスクレイピングを実行することが可能です。実行環境はウェブ上にあるので自前のサーバも必要ありません。
プログラムを作成する流れ
以上のことなどができるようになるGoogle Apps Scriptですが、Googleアカウントを持ち、Googleドキュメントやその他のサービスを利用している方なら誰でも利用できます。
以降から簡単なプログラムを作成する流れを紹介していきますので、ぜひこの記事を参考にして簡単なプログラムを作成してみてください。
事前準備
まずは、Googleドライブにログインし、「新規」ボタンをクリック、「その他」を開いてGoogle Apps Scriptがインストールしてあるのか確認してください。
Google Apps Scriptインストールされていなければ、「アプリを追加」をクリック「Google Apps Script」を探して選択し、インストールしてください。
インストール後「新規」→「その他」に「Google Apps Script」が追加されていることを確認して、Google Apps Scriptを選択します。ここまでの操作でGoogle Apps Scriptを起動することができます。
プログラムを作成してみましょう
今回はGoogle Apps Script入門ということで慣れるためにも簡単な内容のプログラムを作成していこうと思います。Google Apps Scriptを利用するには2つの方法があり、スプレッドシートから直接作成する方法とchromeから呼び出して作成する方法があります。一つずつ紹介していきますので見ていきましょう。
スプレッドシードでプログラムを作成するには?
スプレッドシードを新規に作成しタブバーにツールという項目がありますので、そちらをクリックします。するとスクリプトエディタと書かれた項目がありますのでそちらをクリックするとコード.gsというファイルが表れます。
中身は
function myFunction() {
}
となっていますのでmyFunction関数の中にコードを記入すればスプレッドシートに対してさまざまな処理を行わせることができます。ちなみにプロジェクト名を変更したい場合は「ファイル」->「名前を変更」で好きなプロジェクト名にすることができます。
まずは簡単なプログラム「Hello World!」を作成
各種言語で一番最初に書くであろうHello World!をスプレッドシートに表示してみましょう。書き方としては下記になります。
function myFunction() {
Browser.msgBox(“Hello World!”);
}
コーディングが終わったら下記画像の赤で囲われた再生ボタンを押してみましょう。
初めてGoogle Apps Scriptを利用する場合は「承認が必要です。」というメッセージボックスが出てきますので「許可を確認」をクリックします。
すると別ウィンドでアカウントの選択画面が出ますので自身が利用するアカウントを選択しましょう。次に「このアプリは確認されていません」というメッセージが出ますが、自身で作成するアプリですから問題ありません。許可をするようにしましょう。やり方としては左下にある詳細ボタンを押してみましょう。
すると「プロジェクト名(安全ではないページ)に移動」がありますので、そちらをクリックして青い許可ボタンを押せばOKです。もう一度スクリプトエディタの方に戻り実行ボタンを押せば、スプレッドシートの方にHello World!とメッセージボックスが表示されることが確認されました。
もう一つのやり方も紹介
スプレッドシートに直接スクリプトエディタを表示させて作成する方法を紹介しましたが、Google Apps Scriptではもう一つ作成する方法があるので紹介します。まずはchromeからこちらのサイトに行ってみましょう。下記の画面が出てきます。
右上にあるchromeに追加ボタンを押して「Google Apps Script を追加しますか?」というメッセージが出ますので「アプリを追加」を押しましょう。するとchromeのアプリ画面に飛びますのでその中にあるGoogle Apps Scriptを選択してください。
すると下記のような画面になりますが「Start Scripting」を押しましょう。
するとmyFunction関数が用意された状態の画面になりますので、何かしらの文字列を表示させる命令を組んでみます。今度は下記のようなプログラムにします。
function myFunction() {
Browser.msgBox(“こんにちは 世界!”);
}
そして、新しいプロジェクトになるので先ほどの許可関連の対応をして実行します。すると赤枠でエラー画面が出てしまいます。内容としてはBrowser.msgBox()は使用できないからLogger.log()を使用してみては?ということです。これが出る原因はGoogleAppsScriptでは2種類のプロジェクトがあるためです。
一つはStandalone Script 、もう一つはContainer Bound Scriptです。Standalone Scriptは単独でドライブ上にいるものであり、Container Bound Scriptはスプレッドシートに紐づけされてられているものです。
つまり今回のようなGoogleドライブからの作成はStandalone Scriptとなります。Browser.msgBox()はContainer Bound Scriptのみ対応されている関数なので今回は使用できません。
そこでこちらのサンプルでは下記のようにコードを直し、実行してから表示ー>ログを押して実行します。
function myFunction() {
Logger.log(“こんにちは 世界!”);
}
以上でGoogle Apps Scriptの作成の仕方入門は終了です。最初は慣れないかもしれませんが少しずつ慣れていくと面白くなるのでおすすめです。
はじめの一歩を踏むことで新しい世界が広がる
いかがでしたでしょうか?この記事ではGoogle Apps Scriptの特徴とできること、プログラム作成までの流れを紹介させていただきました。Google Apps Scriptは多種多様な関数が揃えられており、従来のツールでは物足りなかったこともGoogle Apps Scriptを利用することでより便利になるでしょう。自身でカスタマイズするもよし、周りからの要望にこたえてカスタマイズしてみてもいいでしょう。さまざまなことに対応できる大変便利なサービスですのでぜひ、活用してみてください。