投稿

ラベル(GCP)が付いた投稿を表示しています

Google Chat ボットで知っておきたい2つの方式

イメージ
 ― Google Chat ボットで知っておきたい2つの方式 ― はじめに Google Workspaceを使っていると、 毎朝の通知 やチャットでの 問い合わせ対応 を 自動化 したくなる瞬間がよくあります。 GASならそれを実現できますが、実装したい内容によって選ぶべき方式が変わります。 私自身、初めて触れたときは 情報の少なさに苦戦 したので、同じ悩みを持つ方の助けになればと自分なりに整理しました。 この記事では、まずは 「 自分のやりたいことには、どの方式が合っているのか? 」を正しく選ぶための判断基準をサクッと解説します。 まずは、GASでGoogle Chatボットを作る際に最初に決める二択 「通知型」 か 「対話型」 かを整理します。 両者は仕組みがまったく異なり、特に「対話型」は Google Cloud Platform (GCP) の複雑な設定が必要になるため、最初の確認が重要です。 💡 具体的なGCP環境構築手順(対話型用)   こちらをどうぞ →「 GAS×Google Chat ボット 環境構築ガイド 」 ざっくり言うと何が違う? 一言で言うと、 データの流れる方向 が違います。 通知型 : GASからチャットへ「投げるだけ」の、一方通行 対話型 : ユーザーが話しかけて、GASが返事をするという、双方向 この違いを視覚的に理解するために、下記の図を確認してください。 図を見ると、 通知型(左側) はGASから簡単な設定で一方向にメッセージを送るだけのシンプルな仕組みなのに対し、 対話型(右側) はユーザーからの質問を受け取り、GCPの複雑な設定とアプリ登録を経て双方向でやり取りする仕組みであることが分かります。 対話型では、ユーザー、Google Chat、GCP、GASの間で情報が双方向に流れることが図からも明確です。 ポイント比較 【通知型ボット】が向いている用途 定例会議アナウンスと時事ニュース通知 フォームに回答があったら通知 エラーが起きたらアラートを飛ばす 【対話型ボット】が向いている用途 勤怠申請とその情報をカレンダー登録 ※Calendar APIが別途必要 「在庫ある?」と聞いたら検索して答えてくれる カード形式のメッセージで「承...

Outlookが期待していないリクエストを送信する

イメージ
  こんにちは。 今年もAdvent Calendarに参加します。MPPAです。 自分的には今年一番の職務上で出会ってはまった事象を、 今回の記事に書きたいと思います。 👊目次👺 事象紹介 実際に試す環境づくり(AWS Lambda) 事象再現 さいごに 1.事象紹介:Outlookの謎通信 メールによくリンクが張ってありますが、これをOutlookでクリックして、 ブラウザで開くと以下のようなアクセスが行われていることがわかりました。  ・メールのリンクをクリックする  ・ まずHEADリクエストがサーバーに送信される。← 期待してない  ・続いてブラウザが開いてリンクにアクセスする。 赤字の部分が、サーバー側というかコーディングしている上では予期せぬ動きで、 作成時にデバッグ、単体テストを実施しているときは全く気づきませんでした。 今回はパスワードリセットのメールで、リンクをクリックするとパスワードが初期化されるというものでしたので、皆メールのリンクをクリックするはずです。 色々調べてみたのですが、このような仕様がOutlookにあるなんていうのはどこにも見当たらず。。。 ちなみに環境は  サーバー:GCP(Google Cloud) CroudRun関数  言語:Python  クライアント:Windows 11  メーラー:Outlook デスクトップアプリ(Classic) です。OutlookのWebアプリや最新のOutlook(new)では事象は発生しないようです。 2.実際に試す環境づくり(AWS Lambda) では、実際に環境を作成してきます。 用意するものは簡単です。 複雑なアプリケーションを作る必要はなく、受け口を作っておけばいいのです。 というわけで、AWS Lambdaを利用してHello Worldとでも返すコンテンツを作成します。 Lambdaで関数の作成を選んで、行きます。 ここ半年で猛烈に学習したPythonで「hello_lambda」を作成します。 コードはこんな感じにしておきましょう。 import json def lambda_handler ( event , context ):         http_method = event[ "requestCo...