AppSheet

AppSheetとGoogle Apps Scriptとの連携機能を試してみました。

当ブログでも2年ほど前に取り上げたことがある(下記記事ご参照)「AppSheet」ですが、 @tmiyaiCloud さんのツイートでGoogle Apps Script(GAS)との連携機能が追加されることを知ったので、早速試してみました。

※2022年3月時点ではまだプレビュー段階の機能です。今後のアップデートによって仕様が変更される可能性があります。

事前準備

上記の通り現時点ではまだプレビュー段階の機能であるため、まずは対象アプリで新しい機能を有効にする必要があります。

「UX」の「Options」から「Preview new features」をオンにし、「SAVE」ボタンをクリックしてアプリを保存します。

変更後何時間くらいで設定が反映されるかは分かりませんが、私の環境では翌日には新しい機能が使えるようになりました。


2022/4/13 追記:
@tmiyaiCloud さんのツイートで「Preview new features」をオンにしなくてもGAS連携機能が使えるようになったことを知りました。

確認したところ、まだ「BETA」マークは付いていますが、確かに「Preview new features」がオフの状態でもGAS連携機能が使えるようになっていました。

Google Apps Scriptプロジェクトの作成

Apps Scriptから、実行するGASプロジェクトを作成します。
チュートリアルにしたがって、今回実行するのは下記の簡単なスクリプト(sayHello)です。

function test() {
  sayHello("こんにちは");
}

function sayHello(msg) {
  Logger.log(msg);
}

AppSheetアプリから呼び出す前に、「実行」ボタンを押して必ず動作確認を行います。

AppSheetでスクリプトを呼び出すタスクを追加する

GASプロジェクトの準備ができたら、AppSheetの「Automation」からスクリプトを呼び出すタスクを追加します。

  1. 「Automation」の「Bots」から「New Bot」ボタンをクリックします。
  2. 「Bot name」で「When a (シート) record is created or updated, send a notification」を選択します。
  3. Send a notification」をクリックします。
  4. 「Settings」から「Call a script」をクリックします。
  5. 「Apps Script Project」から事前に作成したGASプロジェクトを選択します。
  6. 「Function Name」から実行する関数(今回は「sayHello (msg)」)を選択します。
  7. 「Function Arguments」から関数の引数を設定します。
  8. 今回は「app_name」列(列名はデータソースによって異なります)の値を引数として指定します。
  9. 「SAVE」ボタンをクリックしてアプリを保存します。
  10. 画面右側の「Mobile」、もしくは「Tablet」をクリックしてエミュレーターを表示します。
  11. データを編集して、スクリプトが実行されるかどうか動作確認を行います。
  12. GASプロジェクトに戻ると、関数が実行されログが出力されていることが確認できます。

制限事項

AppSheetのヘルプセンターによると、本機能を利用できるのはCoreプラン以降のユーザー、そして現時点では関数からの戻り値はサポートしていないとのことです。

  • Apps Script executions are subject to standard Google Workspace quotas and limitations as stated in Quotas for Google Services.
  • Apps Script tasks will be available for users in the AppSheet Core plan and above. See AppSheet pricing plans.
  • Return values from the function are not yet supported.

https://help.appsheet.com/en/articles/6035282-call-apps-script-from-an-automation より

以上、AppSheetとGAS連携の簡単なテストを行ってみました。
GAS単体でも実現できることは非常に多いので、今回の機能実装によってAppSheetで出来ることがかなり広がるのではないかと思います。GAが非常に楽しみな機能ですね!

参考Webサイト

関連記事


2022/3/19 追記:
AppSheetのデータをGASに渡して翻訳した結果を返す簡単なアプリを作ってみました。
現時点では関数からの戻り値をサポートしていないのでGAS側で元データを変更する形で実装していますが、戻り値がサポートされると用途がかなり広がりそうです。


2022/3/20 追記:
AppSheetとGoogle Apps Script連携の一例として、アプリでボタンタップ(クリック)してGASで見積書PDFを作成する簡単なアプリを作ってみました。
もう少しちゃんと実装すれば、より実用的なアプリが作れるかもしれません。

[Power Automate for desktop]スクリプトの実行環境を調べてみました。前のページ

AppSheetとGoogle Apps Scriptとの連携機能を試した感想次のページ

関連記事

  1. Google関連

    [Google Apps Script]Google ドライブにある画像をスライドに一括挿入する

    前回の記事では、Google ドライブにある1つの画像ファイルをスライ…

  2. Google関連

    「Google I/O 報告会 2017 東京」に参加しました。

    先週の土曜日、6月10日に開催された「Google I/O 報告会 2…

  3. Google関連

    [Google Apps Script]メールからMessage-IDヘッダーを取得する

    はけた(@excelspeedup)氏のツイートで、GASでメールのM…

  4. 情シス

    [Google Apps Script]メールをemlとして保存する

    今回の記事は「情シスSlack Advent Calendar 201…

  5. Office関連

    Gmail APIを使ってメール送信するVBAマクロ(2)

    前回の記事でGmail APIを使ってメールを送信するVBAマクロを紹…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP