カテゴリー: GoogleAppsScript

  • Chat Botのライフサイクル

    基本的に、開始から始まり、質問相手が質問をやめるまで、「進行」のステップが繰り返さされる。

    開始: ウェルカムメッセージ

    進行: 相手を次のステップに導く質問や回答。

    (ユーザからの応答)

    進行: 相手を次のステップに導く質問や回答。

  • Chat Botの文体

    文体といっても大したことではなく、Googleの指針に従うだけ。

    • 文章は簡単にする
    • 1つの行動を促すフレーズに限定し、できるだけ関連性の高い情報を提示する。
    • 何ができて、何ができないかを明確にする。
    • キャラクター化しない(個性化しない)

    最後の「キャラクター化しない」は難しいところ。無機質な方がよいのか、フレンドリーな方がよいのか。欧米では無機質なインターフェースの方がよいかもしれないが、日本ではキャラクター性を持たせるというのも在り。

  • Hangouts ChatのChat Botについて

    Botは、チャットルーム内、もしくはBotにDM(ダイレクトメッセージ)を送信して、サービスを使用できるように会話型インターフェースを提供する。

    Hangouts ChatのためのBotを作成すると、他のGoogleサービス、外部サービス等を会話型インターフェイスにカプセル化できる。

    Hangouts Chatは、エンドポイント経由でBotと通信する。エンドポイントは以下の2種。

    • HTTP(Webサービス)エンドポイント
    • クラウドPub/Subエンドポイント

    Botの応答は、テキストか、カードになる。カードは、「キー/値ペア」「イメージ」「アイコン」などの見た目にこった形式で応答できる。

  • Chat Botの公開バージョンの注意点

    Chat Botをデプロイするときに、「最新」の「Deployment ID」を指定している場合、GAS上でコードを書き換えて保存されたタイミングで、自動的に最新が公開される。

    そのため、バージョン管理やテスト管理を行う場合には、デプロイするときに、公開バージョンを作成して、指定したほうがよい。

  • GASでHangouts ChatのChat Botを作成して公開する手順

    (Google ChatのChatbotの公開手順が変わっていた。新しく、手順を作ったので、そちらを参照してください。GASのGoogle ChatのChat Botを作成して公開する手順

    Google Apps Script を使ったHangouts ChatのChat Botの作成の流れをまとめる。

    作成フェーズ

    1. Chat Bot のサンプルプロジェクトのファイルを開く
    2. プロジェクト名をつけて保存する
    3. GASのコードを書く

    デプロイ

    1. GASのスクリプトエディタで、「公開」→「マニフェストから配置」の順にクリックする。
    2. どのバージョンをデプロイするのかを聞かれるので、「最新」を選び「Get ID」をクリックする。
    3. 表示された「Deployment ID」の値をコピーする。
    4. 「Close」をクリックして閉じる。
    5. GASのスクリプトエディタで「リソース」→「Cloud Platformプロジェクト」をクリックする。
    6. 「このスクリプトが現在関連付けられているプロジェクト」の下のリンクをクリックする。
    7. ”Google Cloud Platform”の画面が開く。
    8. 左サイドメニューから「APIサービス」→「ダッシュボード」をクリックする。
    9. 「+APIとサービスの有効化」をクリックする。
    10. ”Hangouts Chat API” を検索し、結果から”Hangouts Chat API”を選択する。
    11. 「有効にする」をクリックする。
    12. ダッシュボードのAPIの”Hangouts Chat API” のギアマークをクリックする(設定を開く)。
    13. ボット名を入力する、アバターのURLに表示させる画像のURLを入力する。
    14. 画像URLは、入力しないとエラーになるので、指定がなければ、Googleの画像を指定するとよい。’https://goo.gl/yKKjbw’
    15. 機能で「ボットはルーム内で機能します」「ボットはダイレクトメッセージ内で機能します」を用途に合わせて選択する。
    16. 接続設定で「Apps Script Project」を選択し、上記で取得しておいた”デプロイID”を入力する。
    17. 権限で「インストールできるユーザ」を指定する。
    18. 「設定を保存する」をクリックする。

    これでChat Botを無事に公開されている。Hangouts Chatから、Chat Botを呼び出して、動作確認する。

  • 文字列型の値の記述について

    変数に文字列を格納する場合は、文字列をシングルクォーテーション(”)か、ダブルクォーテーション(“”)で囲む。

    var userName = 'ダンボー'
    var userName = "ニャンボー"
    

    エスケープシーケンス

    改行やシングルクォーテーションなど、入力すると意味が変わってしまう文字は、バックスラッシュ(環境によっては円マークで表示)を使って表現する

     \n = 改行
     \r = 復帰(Carriage Return)
     \t = タブ
     \\ = バックスラッシュ
     \' = シングルクォーテーション
     \" = ダブルクォーテーション
    
  • GASのスクリプトエディタについている入力保管機能

    ■コンテンツアシスト

    スクリプトエディタで、関数などの入力を補完するための機能がコンテンツアシスト。
    空白行もしくは入力中に「Ctrl」+「Space」同時押しで、リストが表示される。

    ■単語補完機能

    変数名や関数名の入力補助の機能。
    入力中に、「Alt」+「/」の同時押し(Macは、「option」+「/」)で、変数や関数が保管される。

    ■インデントを揃える

    インデントの自動整形機能があるので、インデントがわからなくなったときは活用する。
    「Shift」+「Tab」でインデントを整形できる。

  • Google Apps Scriptのスクリプトの権限

    スクリプトの権限は、3つ。「オーナー」「編集者」「閲覧者」の3つ。「オーナー」と「編集者」の違いは、プロジェクトの公開をできるかできないかのみ。スクリプトの実行は「閲覧者」に指定されていないと、実行できない。

    スクリプトのオーナー権限は、無料のGoogleアカウントや異なるドメイン間では譲渡できない

  • キャメル記法とスネーク記法

    キャメル記法は、単語を連結する場合に、2つ目以降の単語の頭文字を大文字にする記法。大文字の部分がラクダ(Camel)のコブのように見えるのが由来。

    スネーク記法は、単語を連結する場合に、アンダースコア( _ )で連結する記法。

    変数はキャメル記法、定数はスネーク記法が一般的。

  • GASの制限事項

    GASは、Googleのサーバ上で実行されるため(クラウド上で実行されるため)、一部のユーザによって過負荷をかけられないようにスクリプトの実行に際して制限がある。

    スクリプトの実行時間やメールの受信者数、カスタム関数実行時間などを制限するハード制限。スクリプトの実行中に制限を超えると、スクリプトはエラーで終了する。

    ドキュメントの作成やカレンダーイベント作成など、一日あたりの実行回数を制限する容量制限。容量制限は、ユーザーごとにカウントされており、太平洋標準時(PST)の0時にリセットされる。だいたい日本だと、16時か17時で、サマータイムなどで変わる。

    ハード制限の例

    • スクリプト実行時間: 1回あたり6分
    • カスタム関数実行時間: 1回あたり30秒
    • メールの受信者件数: 1メッセージあたり、50件

    容量制限の例

    • カレンダーイベント作成数: 1日あたり、10,000件
    • ドキュメント作成数: 1日あたり、1,500件
    • JDBC接続: 1日あたり、50,000件

    GASの制限が書かれたページ

    https://developers.google.com/apps-script/guides/services/quotas