みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
超初心者向けGoogle Apps Scriptを学ぶシリーズ、Botの作成を目指しております。
が、まだBotっぽいこと全然出てきていませんけどね。
前回の記事はこちらです。
開発やデバックで大変お世話になる、Logger.logによるログ出力の方法についてお伝えしました。
さて、GASを使用するケースとしては、スプレッドシートを使いたいというニーズがあることが多いと思います。
ただ、GASでスプレッドシートを操作しようとすると、初回実行時に「承認が必要です」というダイアログが出てきてびっくりすると思います。
特に無料のGmailアカウントを使っている場合は…余計びっくりします。
今回は、それが出てきてもびっくりしないように、スプレッドシートでメッセージダイアログを表示する場合を例に、Google Apps Script実行時のアクセス許可の承認についてお伝えしていきます。
では、行ってみましょう。
メッセージダイアログを表示する方法
では、スプレッドシートにメッセージダイアログを表示する方法をお伝えしていきます。
Browser.msgBoxでメッセージを表示する
スプレッドシートのコンテナバインドスクリプトを使っているときのみ、Browser.msgBoxメソッドで、スプレッドシート上にメッセージダイアログを表示することができます。
なお、他の方法としてスプレッドシート・ドキュメント・フォーム・スライドのコンテナバインドスクリプトであれば、Uiクラスを使ってメッセージダイアログを表示する方法もありますので、ご興味あればチャレンジしてみてください。
メッセージダイアログを表示するスクリプト
で、今回は「メッセージダイアログ」というプロジェクト名にして、以下のスクリプトを作成しました。
function myFunction() { Browser.msgBox('Hello GAS!'); }
実行してみましょう。
さて、何か起きるでしょうか?
「承認」とは何か
メッセージダイアログにかかわらず、GASからGoogleのアプリケーションを操作しようとしたときには「承認」が必要になります。
GASのスクリプトも、スプレッドシートも、Googleのクラウド上にありますよね。
つまり、同じブラウザから操作していても、Googleから見たら、そのスクリプトが本当にそのスプレッドシートをいじってよいかどうかはわからないのです。
なので、初回実行時にスクリプト「メッセージダイアログ」が先ほど新規で作成した「新規のスプレッドシート」にアクセスして良いかを、「承認」する作業が必要になります。
基本は、ダイアログの手順に従えばいいのですが、無料のGmailアカウントを使っている場合はちょっと注意が必要です。
それについて、以降解説をしていきます。
G Suiteアカウントを使っている場合
「承認が必要です」ダイアログ
G Suiteアカウントを使っている場合であれば、まず以下の「承認が必要です」ダイアログが出現します。
Image may be NSFW.
Clik here to view.
アカウントの選択
「許可を確認」をクリックすると、以下「アカウントの選択」ウィンドウが開きますので、スプレッドシートの持ち主(オーナーといいます)であるアカウントを選択します。
Image may be NSFW.
Clik here to view.
リクエストの許可
続いて「ようこそ」というウィンドウが表示されます。
スクリプト「メッセージダイアログ」がスプレッドシートへのアクセスをリクエストしていますよ、許可していいですか?という意味ですね。
「許可」をすれば、無事に承認されたことになります。
Image may be NSFW.
Clik here to view.
メッセージダイアログの表示
これでようやく、スクリプトが実行されます。
スプレッドシートのタブを開くと、以下のようにメッセージダイアログが開かれているはずです。
Image may be NSFW.
Clik here to view.
無料のGmailアカウントを使っている場合
無料のGmailアカウントを使っている、つまり「~@gmail.com」のアカウントを使っている場合、この「承認」のフローが少し異なり、より「びっくり」させられます。
このアプリは確認されていません
G Suiteの場合の「アカウントの選択」までは同じフローですが、その後に、以下のようなウィンドウが表示されます。
Image may be NSFW.
Clik here to view.
「このアプリは確認されていません」
このアプリは Google による確認が済んでいません。よく知っている信頼できるデベロッパーの場合に限り続行してください。
…だぞうです。
うっかり「安全なページに戻る」をクリックしたくなりますが、ダメです。それだと先に勧めません。
ちっちゃいですが「詳細」をクリックが正解です。
安全ではないページに移動する
すると、ウィンドウの下の隠れていた部分が表示されるようになります。
また、クリックしづらいですが「メッセージダイアログ(安全ではないページ)に移動」をクリックしてください。
Image may be NSFW.
Clik here to view.
これでようやく「ようこそ」ウィンドウが表示されますので、「許可」をすることで承認の作業が完了します。
無料のアカウント、ちょっと嫌がらせ受けてますかね。
まとめ
以上、Google Apps Scriptでスクリプト実行時の「承認」びっくりしないためのアレコレについてお伝えしました。
クラウドで提供されているGASならではの手順と言えますね、面倒ですが安全にGASを利用するために必要なものと理解ください。
また、無料のGmailアカウントを使っている場合は、より面倒でびっくりさせられますが、大丈夫です。使えますので。
ただ、G Suiteのほうが他にもあちこちで色々と優遇されていますので、企業などで利用される場合はG Suiteの利用を検討されるとよいと思います。
次回は、いよいよスプレッドシートを操作していきたいと思います。
どうぞお楽しみに!