【初心者向けGAS】スクリプト実行時の「承認」でびっくりしないために


exclamation

photo credit: mag3737 Bang via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

超初心者向けGoogle Apps Scriptを学ぶシリーズ、Botの作成を目指しております。

が、まだBotっぽいこと全然出てきていませんけどね。

前回の記事はこちらです。

【初心者向けGAS】ログを表示するLogger.logの使い方
Google Apps Scriptの超入門シリーズ、GASプログラミングの基礎を学んでいっております。今回はログを表示するLogger.logの使い方、%sによる書式を使った方法についてもお伝えします。

開発やデバックで大変お世話になる、Logger.logによるログ出力の方法についてお伝えしました。

さて、GASを使用するケースとしては、スプレッドシートを使いたいというニーズがあることが多いと思います。

ただ、GASでスプレッドシートを操作しようとすると、初回実行時に「承認が必要です」というダイアログが出てきてびっくりすると思います。

特に無料のGmailアカウントを使っている場合は…余計びっくりします。

今回は、それが出てきてもびっくりしないように、スプレッドシートでメッセージダイアログを表示する場合を例に、Google Apps Script実行時のアクセス許可の承認についてお伝えしていきます。

では、行ってみましょう。

メッセージダイアログを表示する方法

では、スプレッドシートにメッセージダイアログを表示する方法をお伝えしていきます。

Browser.msgBoxでメッセージを表示する

スプレッドシートのコンテナバインドスクリプトを使っているときのみ、Browser.msgBoxメソッドで、スプレッドシート上にメッセージダイアログを表示することができます。

Browser.msgBox(メッセージ)

なお、他の方法としてスプレッドシート・ドキュメント・フォーム・スライドのコンテナバインドスクリプトであれば、Uiクラスを使ってメッセージダイアログを表示する方法もありますので、ご興味あればチャレンジしてみてください。

Class Ui  |  Apps Script  |  Google Developers

メッセージダイアログを表示するスクリプト

で、今回は「メッセージダイアログ」というプロジェクト名にして、以下のスクリプトを作成しました。

実行してみましょう。

さて、何か起きるでしょうか?

「承認」とは何か

メッセージダイアログにかかわらず、GASからGoogleのアプリケーションを操作しようとしたときには「承認」が必要になります。

GASのスクリプトも、スプレッドシートも、Googleのクラウド上にありますよね。

つまり、同じブラウザから操作していても、Googleから見たら、そのスクリプトが本当にそのスプレッドシートをいじってよいかどうかはわからないのです。

なので、初回実行時にスクリプト「メッセージダイアログ」が先ほど新規で作成した「新規のスプレッドシート」にアクセスして良いかを、「承認」する作業が必要になります。

基本は、ダイアログの手順に従えばいいのですが、無料のGmailアカウントを使っている場合はちょっと注意が必要です。

それについて、以降解説をしていきます。

G Suiteアカウントを使っている場合

「承認が必要です」ダイアログ

G Suiteアカウントを使っている場合であれば、まず以下の「承認が必要です」ダイアログが出現します。

GASの「承認が必要です」ダイアログ

アカウントの選択

「許可を確認」をクリックすると、以下「アカウントの選択」ウィンドウが開きますので、スプレッドシートの持ち主(オーナーといいます)であるアカウントを選択します。

GAS実行時のアカウントを選択ウィンドウ

リクエストの許可

続いて「ようこそ」というウィンドウが表示されます。

スクリプト「メッセージダイアログ」がスプレッドシートへのアクセスをリクエストしていますよ、許可していいですか?という意味ですね。

「許可」をすれば、無事に承認されたことになります。

GAS実行時「ようこそ」ウィンドウでリクエストを許可する

メッセージダイアログの表示

これでようやく、スクリプトが実行されます。

スプレッドシートのタブを開くと、以下のようにメッセージダイアログが開かれているはずです。

GASでメッセージダイアログを表示する

無料のGmailアカウントを使っている場合

無料のGmailアカウントを使っている、つまり「~@gmail.com」のアカウントを使っている場合、この「承認」のフローが少し異なり、より「びっくり」させられます。

このアプリは確認されていません

G Suiteの場合の「アカウントの選択」までは同じフローですが、その後に、以下のようなウィンドウが表示されます。

GAS実行時に「このアプリは確認されていません」

「このアプリは確認されていません」

このアプリは Google による確認が済んでいません。よく知っている信頼できるデベロッパーの場合に限り続行してください。

…だぞうです。

うっかり「安全なページに戻る」をクリックしたくなりますが、ダメです。それだと先に勧めません。

ちっちゃいですが「詳細」をクリックが正解です。

安全ではないページに移動する

すると、ウィンドウの下の隠れていた部分が表示されるようになります。

また、クリックしづらいですが「メッセージダイアログ(安全ではないページ)に移動」をクリックしてください。

GAS実行時に「このアプリは確認されていません」で詳細を表示

これでようやく「ようこそ」ウィンドウが表示されますので、「許可」をすることで承認の作業が完了します。

無料のアカウント、ちょっと嫌がらせ受けてますかね。

まとめ

以上、Google Apps Scriptでスクリプト実行時の「承認」びっくりしないためのアレコレについてお伝えしました。

クラウドで提供されているGASならではの手順と言えますね、面倒ですが安全にGASを利用するために必要なものと理解ください。

また、無料のGmailアカウントを使っている場合は、より面倒でびっくりさせられますが、大丈夫です。使えますので。

ただ、G Suiteのほうが他にもあちこちで色々と優遇されていますので、企業などで利用される場合はG Suiteの利用を検討されるとよいと思います。

次回は、いよいよスプレッドシートを操作していきたいと思います。

【初心者向けGAS】Spreadsheetサービスの「オブジェクト」の基礎の基礎を知ろう
GASプログラミングの基礎を学ぶシリーズです。今回は、GASでスプレッドシートを操作していく際に知っておくべきオブジェクトとその基礎、SpreadsheetApp、アクティブなスプレッドシートの取得についてです。

どうぞお楽しみに!

連載目次:超初心者向けGASでBotを作りながら基礎を学ぶ

Google Apps Script(GAS)をはじめるためのメリットは山程ありますが、何を作ったらいいの?と悩んでしまうこともありますよね。そんな時に、おすすめしたいのが「Bot」の作成です。このシリーズでは、超初心者向けにGASでBotを作る方法を題材としながら、GASプログラミングの一通りの流れと書き方について学んでいきます。
  1. 【初心者向けGAS】本当の最初の一歩!スクリプトエディタでプロジェクトを開く
  2. 【初心者向けGAS】はじめてのスクリプトを作成し、保存し、実行する
  3. 【初心者向けGAS】プログラミングに必須の変数の使い方とデータ型について
  4. 【初心者向けGAS】ログを表示するLogger.logの使い方
  5. 【初心者向けGAS】スクリプト実行時の「承認」でびっくりしないために
  6. 【初心者向けGAS】Spreadsheetサービスの「オブジェクト」の基礎の基礎を知ろう
  7. 【初心者向けGAS】スプレッドシートのシートを取得する2つの方法
  8. 【初心者向けGAS】スプレッドシートのセル・セル範囲とその値を取得する方法
  9. 【初心者向けGAS】for文を使ったスプレッドシートの繰り返しの超基本
  10. 【初心者向けGAS】条件分岐をするif文の使い方の超基本
  11. 【初心者向けGAS】スプレッドシートのセルに値を入力する基礎の基礎
  12. 【初心者向けGAS】条件に応じてループを制御する2つの方法~break文とwhile文~
  13. 【初心者向けGAS】スプレッドシートのセル範囲を行数・列数を使って取得する
  14. 【初心者向けGAS】スプレッドシートのセル範囲をクリアするいくつかの方法
  15. 【初心者向けGAS】Google Apps ScriptでWeb APIを活用するための基礎知識
  16. 【初心者向けGAS】面倒なことはライブラリに任せよう!その概要と追加の方法
  17. 【初心者向けGAS】チャットワークのマイチャットにメッセージを送る最も簡単な例
  18. 【初心者向けGAS】Google Apps Scriptで別の関数を呼び出すfunctionの書き方
  19. 【初心者向けGAS】時限式のイベントトリガーを設置して決まった時刻にBotを送信する方法
  20. 【初心者向けGAS】プロパティストアの概要とスクリプトプロパティの編集方法
  21. 【初心者向けGAS】スクリプトプロパティを操作してそのデータを取り出す方法
  22. 【初心者向けGAS】スプレッドシートのセル範囲の値を二次元配列として取得して取り扱う方法
  23. 【初心者向けGAS】チャットワークのメッセージ記法でBot送信するメッセージを装飾する方法
  24. 【初心者向けGAS】Google Apps Scriptのドキュメンテーションコメントの書き方

The following two tabs change content below.
株式会社プランノーツ代表、コミュニティ「ノンプロ研」主宰。1976年こどもの日生まれ。東京板橋区在住。「ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ ★フォロー頂ければ嬉しいです。

コメント