- 概要
- 自動化からの Apps Script 呼び出しのスタートガイド
- Apps Script プロジェクトを作成する
- 「Call a script」のタスクを bot に追加し構成する
- Apps Script プロジェクトを共有する
- 自分のアカウントで Apps Script プロジェクトを管理する
- 割り当てと上限
概要
Apps Script はクラウドベースの JavaScript プラットフォームで、Google プロダクト全体でタスクの統合と自動化を可能にします。Apps Script では、コードを最新の JavaScript で記述し、Google Workspace アプリケーション用の組み込みライブラリを利用できます。
AppSheet 自動化 bot から Apps Script を呼び出すことで、AppSheet アプリ内のカスタム ロジックを使用できます。
使用できるカスタム ロジックの例:
- ボタンがクリックされるとカレンダーの予約を作成する
- 新しい行が追加されるとプレゼンテーションにスライドを追加する
- フォームを使って Google ドライブに写真がアップロードされると、保存して指定されたユーザーと共有する
- テーブルのデータを使用して Google ドキュメント ファイルを生成することで、監査ログを作成する
- 新しく追加した行のデータを使用して外部サービスを呼び出して ML 予測を行い、モデルからの予測結果を書き戻す
注:
-
自動化から Apps Script を呼び出すには、組織で Apps Script サービスを有効にしておく必要があります。詳しくは、ユーザーに対して Apps Script を有効または無効にするをご覧ください。有効にしていない場合、次のようなメッセージが表示されます。
Google Apps Script へのアクセス権がありません。組織管理者にアクセス権の付与を依頼してください -
Apps Script はデプロイされているバージョンを問わず ヘッド デプロイメントを実行します。タスクから呼び出す際に別のバージョンを指定することはできません。
- AppSheet はスタンドアロン スクリプトのみサポートしています。現時点ではコンテナバインド スクリプトはサポートしていません。
Apps Script に不慣れな場合は Google Apps Script の概要をご覧ください。
AppSheet Automation に不慣れな場合は AppSheet Automation: 基礎をご覧ください。
自動化からの Apps Script 呼び出しのスタートガイド
自動化から Apps Script を呼び出してみましょう。
-
自動化からの Apps Script 呼び出しについて、入門動画をご視聴ください。
注: この動画のコンセプトは現在でも有効ですが、AppSheet アプリエディタの UI は動画撮影時から変更されています。 - 短い「hello world」スクリプトを AppSheet Automation から呼び出して、正しく実行されることを確認する、クイック スタートのチュートリアルを実施します
- 以下の Apps Script サンプルを使用します
Apps Script プロジェクトを作成する
まず、スクリプト ファイルと関連リソース用に Apps Script プロジェクトを作成する必要があります。Apps Script プロジェクトには以下が含まれます。
- カスタム インテグレーションを定義するための、1 つ以上のスクリプト ファイル(
.gs) - オプションで、カスタム テンプレートとレイアウトを作成するための HTML ファイル(JavaScript および CSS を含む場合があります)
Apps Script プロジェクトを作成するには:
-
Apps Script のホームページでは以下が可能です。
-
新規 Apps Script プロジェクトの作成(プロジェクトの作成と削除で説明)。
-
既存の Apps Script プロジェクトのコピー:
-
Apps Script プロジェクト エディタを開きます。
-
左側のサイドバーにある [Overview] をクリックし、次にページの右側にある Make a copy(コピーのアイコン)をクリックします。
-
-
-
プロジェクトに 1 つ以上のスクリプトを追加するか、既存のスクリプトを変更します。例として AppSheet Apps Script Examples プロジェクトを使用するをご覧ください。
「Call a script」のタスクを bot に追加し構成する
以下のステップを行い、Call a script タスクを bot に追加して構成します。
自動化 bot への追加と構成について詳しくは、タスク: 基礎をご覧ください。
- bot にタスクを追加するで説明しているように、Call a webhook タスクを bot に追加します。
- 「Call a script」タスクを構成します。
- [Authorize] をクリックして Apps Script プロジェクトの実行を承認します。
注: プロジェクトへの初回アクセス時、および認証範囲の追加時に、承認が必要となります。示されているとおり、スクリプトは常にアプリオーナーの権限で動作します。これはプロジェクトの承認に使用されたアカウントに左右されません。
- 呼び出す Apps Script 関数を、[Function Name] プルダウンで選択します。
プルダウンには前のステップで選択した Apps Script プロジェクトで定義されている関数がリストアップされています。関数を選択すると、関連する引数のリストが表示されます。 - 関数に渡される各引数を定義する式を、[Function Parameters] フィールドに入力します。例:
- 任意で [Return Value] オプションを有効にし、Apps Script 関数の戻り値を使用できます。詳しくは Apps Script タスクの戻り値を使用するをご覧ください。
- 任意で [Run asynchronously?] オプションを有効にし、Apps Script タスクをバックグラウンド タスクとして非同期で実行できます。このオプションを有効化すると、クライアントの応答時間を改善できます。
このオプションを設定する前に、ご使用のアプリケーションが正しく動作するにあたって Apps Script が同期的に実行完了する必要があるかどうかご検討ください。たとえば、データの変更が Apps Script 側で行われており、アプリケーションは同期完了前にデータ更新が行われることに依存している場合、非同期の呼び出しを使用することで不正確な結果を生む場合があります。 - 完了したら、以下のいずれかを選択してタスクを保存します。
- Save - アプリを保存します。
- Save & verify data - アプリを保存し、外部依存関係に基づいてアプリが実行可能であるかどうかを確認します。
「Call a script」タスクを構成する
以下の表の設定を使用して Call a script タスクを構成します。
|
設定 |
説明 |
| Linking |
|
|
Task name |
自動化プロセスのフローに出てくるタスクの名前。アプリ内で一意である必要があります。 |
|
Table name |
イベント内で定義され、このタスクで使用されるテーブル。 選択したテーブルの構造を表示または編集するには、フィールドにカーソルを置いて 注: イベントとは異なるテーブルを使用するには、Call a process のステップを追加します。 |
|
Apps Script Project |
呼び出す関数を含む Apps Script プロジェクト。フィールドにデータを入力するには:
必要に応じて [Open Project] をクリックしてプロジェクトを開きます。 |
[Advanced] 設定を開き、以下の説明に合わせてカスタマイズします。
|
設定 |
説明 |
|
Inputs |
タスクを動的に構成する入力値を追加します。詳細については、タスクで動的に入力値を設定するをご覧ください。
現在の手順から入力値にアクセスするには、次の式を使用します: |
Apps Script プロジェクトを共有する
直接、または共有ドライブを使用して、Apps Script プロジェクトを共有します。詳しくは他のデベロッパーとのコラボレーションをご覧ください。
自分の AppSheet アカウントで Apps Script プロジェクトを管理する
次のセクションでは、AppSheet による Apps Script プロジェクトの管理方法について説明します。
- AppSheet アカウント内で Apps Script プロジェクトを表示する
- AppSheet アカウントに Apps Script プロジェクトを追加する
- AppSheet アカウントから Apps Script プロジェクトを削除する
AppSheet アカウント内で Apps Script プロジェクトを表示する
AppSheet アカウント内で Apps Script プロジェクトを表示するには:
- AppSheet にログインします。
- [My account] ページに移動します。
- [Integrations]、[Apps Scripts] の順に選択します。
Apps Script プロジェクトが以下のように表示されます。
AppSheet アカウントに Apps Script プロジェクトを追加する
Call a script タスクを追加して構成する場合は、Apps Script プロジェクトが自動的にご自身のアカウントに追加されます。
AppSheet アカウントから Apps Script プロジェクトを削除する
AppSheet ユーザー アカウント、またはチームのアカウントから Apps Script プロジェクトを削除すると、その後は他のアプリで使用できなくなります。
注: エラーを回避するため、AppSheet アカウントから Apps Script プロジェクトを削除する前に、アプリ内での Apps Script プロジェクトへの参照をすべて削除してください。[My Account] ページからプロジェクトを削除しており、そのプロジェクトをアカウントに追加しなおす場合、「Call a script」フロー内で再度スクリプトを選択します。
チームのアカウントから Apps Script プロジェクトを削除するには:
- AppSheet にログインします。
- [My account] ページに移動します。
- [Integrations]、[Apps Scripts] の順に選択します。
- Delete(ゴミ箱のアイコン)をクリックすると、特定のスクリプトへのアクセスを削除します。
割り当てと上限
- Apps Script の実行は、Google サービスの割り当てで記載されているとおり、標準的な Google Workspace の割り当てと制限の対象です。
- Apps Script のタスクは AppSheet Core プラン以上のユーザーが利用できます。詳しくは AppSheet 料金プランをご覧ください。