Open Chat
本サイトはJSPS科研費(課題番号23K02737)の助成を受けた研究成果を基に作成されています。
AIチャットボットはパソコンでの使用を強くお勧めいたします。※タブレット端末でチャットが突然消えることがあります。

【重要】サイトからコピーしたスプレッドシートを使う前に!スクリプトの認証とWEBアプリ公開(デプロイ)の手順

コピーしたGoogleスプレッドシートは、あなたの作業を効率化するGoogle Apps Script (GAS) のスクリプトが埋め込まれています。しかし稼働させるためにはひと手間必要です。この記事を参考に自分のパソコン環境で稼働できるように認証を行ってください。

そして、特にWEBアプリとして利用することを前提としているスプレッドシートをコピーされた方は、その後に「デプロイ」という手順も続けて行う必要があります。これにより、スプレッドシートの機能がWEBアプリケーションとして外部から利用可能になります。

「難しそう…」と感じるかもしれませんが、ご安心ください!この記事では、あなたがシートをコピーした後の「認証」から、WEBアプリとして活用するための「デプロイ」まで、初心者の方にも分かりやすく、図の挿入箇所を交えながら徹底的に解説します。


はじめに:なぜ「認証」と「デプロイ」が必要なの?

Google Apps Scriptは、Googleスプレッドシートの情報を読み書きしたり、あなたのGoogleドライブにファイルを作成したりと、あなたのGoogleアカウントのデータにアクセスする可能性があります。そのため、Googleはセキュリティ上の理由から、スクリプトがこれらの操作を行う前に、あなた自身が「許可しますよ」と承認するプロセスを設けています。これが「認証」です。

また、もしコピーしたスプレッドシートが、スプレッドシート内部だけでなく、ブラウザなど外部からアクセスできるWEBアプリケーションとして機能することを目指している場合、そのスクリプトを「デプロイ(公開)」する必要があります。デプロイすることで、専用のWEBアドレスが発行され、スクリプトがWEBサービスとして動き出すのです。

Part 1: コピーしたスプレッドシート内のスクリプトを「認証」する方法(最重要!)

あなたが私のサイトからスプレッドシートをコピーした瞬間、そのスプレッドシートと、それに埋め込まれたGoogle Apps Scriptは、あなたのGoogleアカウントの所有物となります。

そのため、コピーしたシートに埋め込まれたスクリプトの機能を初めて実行しようとするとき(例えば、シート内のカスタムメニューから特定の機能を選択するなど、あるいはデプロイ後にWEBアプリにアクセスした時など)は、あなた自身が「このスクリプトに、私のデータへのアクセスを許可します」という承認をする必要があります。この認証が完了しないと、スクリプトは正常に動作しません。

認証の流れ:あなたが初めてスクリプトを実行する時

  • セキュリティ警告の表示:
    まず、Googleから「承認が必要です」というセキュリティ警告のダイアログが表示されます。これは、スクリプトがあなたのGoogleアカウントにアクセスしようとしていることを知らせるものです。
    • Googleアカウントの選択:
      警告ダイアログ内の「権限を確認」や「承認」といったボタンをクリックすると、あなたがどのGoogleアカウントでこのスクリプトを承認するかを選択する画面が表示されます。普段お使いのGoogleアカウントを選択してください。
  • 「Googleによって確認されていません」という警告(ご安心ください!):
    ここで、「Googleによって確認されていません」という警告画面が表示されることがあります。これは、私が開発したスクリプトがGoogleの公式ストアに登録されているアドオンではないためです。このメッセージは、スクリプトに問題があるという意味ではありませんので、ご心配なく
    「詳細」または「(あなたのGoogleアカウント)に移動」といったリンクをクリックして、次に進んでください。
  • アクセス権限の確認と許可:
    最終的に、スクリプトがあなたのGoogleアカウントに対して、どのようなアクセス権限を要求しているか(例: 「Googleスプレッドシートを閲覧、編集、作成、削除する」「外部サービスに接続する」など)が一覧で表示されます。内容を確認し、問題なければ一番下にある「許可」ボタンをクリックしてください。

これで、スクリプトはあなたのGoogleアカウントの権限で実行できるようになります。この認証は、シート内の機能を使う場合、またはWEBアプリとしてデプロイする際にも必要となります。一度認証を行えば、通常は同じスクリプトで再度認証を求められることはありません。

【重要ポイントまとめ】

  • あなたがシートをコピーすると、そのスクリプトの所有者もあなたになります。
  • スクリプトがあなたのデータに初めてアクセスするとき、あなた自身が認証を行う必要があります
  • 「Googleによって確認されていません」という警告は、安全性に問題があるという意味ではありませんので、安心して「許可」に進んでください。

Part 2: WEBアプリとして利用する場合の「デプロイ」方法

あなたがコピーしたスプレッドシートが、WEBアプリとして機能することを目的としている場合、Part 1の認証に加えて、この「デプロイ」という作業が必要です。

デプロイを行うことで、スプレッドシートに埋め込まれたGoogle Apps Scriptが、インターネットを通じてアクセスできる独立したWEBアプリケーションとして公開されます。これにより、特定のURLにアクセスするだけでスクリプトの機能を利用できるようになります。

2.1 デプロイの基本を知ろう

デプロイとは、作成したスクリプトに特定のURLを発行し、そのURLにアクセスするだけでスクリプトの機能が使えるようにするプロセスです。例えば、ウェブサイト上での問い合わせフォームや、特定の情報を表示するツールなどに応用できます。

2.2 スクリプトをウェブアプリとしてデプロイする方法

WEBアプリをサイトからコピーして認証からデプロイまでを動画で確認

それでは、あなたがコピーしたシートに埋め込まれたスクリプトを、WEBアプリとして公開する手順を見ていきましょう。

  1. スクリプトエディタを開く:
    まず、あなたがコピーしたGoogleスプレッドシートを開き、「拡張機能」メニューから「Apps Script」を選択して、スクリプトエディタを開きます。
  2. 新しいデプロイを開始する:
    スクリプトエディタの右上にある「デプロイ」ボタンをクリックし、表示されるドロップダウンメニューから「新しいデプロイ」を選択します。
  3. デプロイの種類を選択:
    「デプロイの種類を選択」という画面が表示されるので、歯車アイコンをクリックし、リストの中から「ウェブアプリ」を選択してください。
  4. ウェブアプリの詳細設定:
    ウェブアプリとして公開するための設定を行います。
    • 説明: このデプロイがどのようなものか、あなたが分かりやすいようにメモを残せます(例: 「初期WEBアプリ」「フォーム受付」など)。
    • 実行ユーザー(Execute as):
      • 「自分」(あなたのメールアドレス): ウェブアプリにアクセスする人が誰であっても、スクリプトはあなたのGoogleアカウントの権限で実行されます。この設定の場合、アクセスする人は認証を求められません。
        • 例: あなたが管理するデータベースから全員に同じデータを表示したい場合や、匿名でフォームを送信させたい場合など。
      • 「ウェブアプリにアクセスしているユーザー」: ウェブアプリにアクセスした各ユーザー自身のGoogleアカウントの権限でスクリプトが実行されます。この場合、アクセスしたユーザーは初回アクセス時に認証を求められます。
        • 例: ユーザーごとに異なるデータを見せたい場合や、ユーザー自身のGoogleドライブにファイルを保存させたい場合など。
        • アクセスできるユーザー(Who has access):
          • 「自分のみ」: あなたのGoogleアカウントからのみアクセス可能です。開発中のテストに最適です。
          • 「Googleアカウントを持つ全員」: Googleアカウントを持っている人なら誰でもアクセスできます。アクセスにはGoogleアカウントへのログインが必要です。
          • 「全員」: Googleアカウントがなくても、インターネットに接続していれば誰でもアクセスできます。匿名でのアクセスも可能です。完全に公開したい場合や、誰でも利用できるフォームなどに使います。
          • 【図の挿入箇所 9】 「アクセスできるユーザー」選択肢のスクリーンショット(「自分のみ」「Googleアカウントを持つ全員」「全員」が確認できる)
  5. デプロイを実行:
    すべての設定が完了したら、「デプロイ」ボタンをクリックします。
  6. 権限の確認(初回デプロイ時のみ、または権限変更時):
    あなたがこのスクリプトを初めてウェブアプリとしてデプロイする場合、またはスクリプトが要求するGoogleサービスへのアクセス権限が変更された場合、Part 1で説明した認証と同様の手順で、あなたのGoogleアカウントの承認が求められることがあります。画面の指示に従って承認を行ってください。
  7. ウェブアプリのURL取得:
    デプロイが成功すると、「ウェブアプリのURL」が表示されます。このURLをコピーして、公開したい場所に貼り付けたり、ユーザーに共有したりしてください。

2.3 デプロイ後のURLとアクセス

デプロイによって発行されるURLは、通常このような形です。
https://script.google.com/macros/s/<ランダムなID文字列>/exec

このURLにアクセスするだけで、あなたのGoogle Apps ScriptがWEBアプリとして機能するようになります!

2.4 ウェブアプリを更新したい時は?(バージョン管理)

もしスクリプトの内容を変更して、ウェブアプリの機能を更新したい場合は、以下の手順で行います。

  1. スクリプトエディタで変更を加えます。
  2. 再度「デプロイ」ボタンをクリックし、「デプロイを管理」を選択します。
  3. 表示されたリストの中から、更新したいウェブアプリのデプロイの右側にある編集アイコン(鉛筆マーク)をクリックします。
  4. 「バージョン」のドロップダウンメニューで「新しいバージョン」を選択し、必要であれば「説明」を更新して「デプロイ」ボタンをクリックします。

これで、URLは変わらずに、最新のスクリプトの内容でウェブアプリが更新されます。

まとめ

Google Apps Scriptの「認証」と「デプロイ」は、あなたがコピーしたスプレッドシートを活用するために、それぞれ異なるフェーズで必要なプロセスです。

  • 認証:あなたがコピーしたスプレッドシートに埋め込まれたスクリプトが、あなたのGoogleアカウントのデータにアクセスする際に必要な「許可」のプロセスです。シート内の機能を使う場合も、WEBアプリとしてデプロイする場合も、初回実行時には必ず行いましょう。
  • デプロイ:あなたのスクリプト(またはそれを基にしたスクリプト)を、スプレッドシートとは独立した「WEBアプリ」として公開し、専用のURLで誰でもアクセスできるようにするプロセスです。特にWEBアプリとして利用することを想定している場合は、認証の後にこの手順を完了させてください。実行ユーザーとアクセスできるユーザーの設定は、あなたの目的に合わせて慎重に選びましょう。

このガイドが、あなたのGoogle Apps Script活用の一助となれば幸いです。もし分からないことがあれば、いつでも質問してくださいね!