質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

Q&A

1回答

1106閲覧

GASを使ってzoomへの参加、退室をSlackに通知したい(zoom webhookのValidateを通したい)

shinsawa

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

0グッド

0クリップ

投稿2023/02/17 09:33

実現したいこと

GASを使ってzoomへの参加、退室をSlackに通知したい

①zoomのミーティングに参加or退室

②GAS(google app script)にて処理

③紐づくSlackのチャンネルにて「〇〇さんが参加(退室)しました」と通知

具体的に躓いていること

  • zoomでのwebhookのValidate(webhook→Feature→Event notification endpoint URL)が通らない
  • GAS上でHMAC SHA-256を使えばValidate通るかも?でもやり方が分からない

前提

GASを使ってzoomへの参加、退室をSlackに通知したい】です。

Zoomの会議室の参加、退出をGASで受け取ってSlackに送信する』を参考に基本的な土台は作成できました(zoom、GAS、Slackそれぞれ設定済)。

しかし、zoomのアップデートにより、webhookのValidate(webhook→Feature→Event notification endpoint URL)が通らない状態です。

イメージ説明

段階としては参考にした『Zoomの会議室の参加、退出をGASで受け取ってSlackに送信する』の3-b(本当は3-c)Event notification endpoint にGoogle ウェブアプリケーションのURLを設定してsaveボタンを押すに該当する部分です。

試したこと

同じく躓いた方のまとめを確認
【Zoom 2022】Zoom の会議開始を LINEアプリにお知らせする仕組みを Zoom Webhook と enebular で作る(Webhook のバリデーション対応も行いつつ)
:こちらの方はenebular(Node-RED)上でHMAC SHA-256を利用することで解決していました。
:しかし、GASでHMAC SHA-256をどのように反映するかが分かりません。

まとめ:お願い

  1. 番号リスト【GASを使ってzoomへの参加、退室をSlackに通知したい】です。
  2. Zoomの会議室の参加、退出をGASで受け取ってSlackに送信する』を参考に基本的な土台は作成済です。
  3. しかし、zoomのアップデートにより、webhookのValidate(webhook→Feature→Event notification endpoint URL)が通らない状態です。
  4. お願い:作成済の以下のコードを前提にどうすればGASのデプロイ(ウェブアプリケーション)がzoomのwebhookにValidateが通るかをご教示いただけますと幸いです。

↓こちらのコードは上述の通り、参考にしております『Zoomの会議室の参加、退出をGASで受け取ってSlackに送信する』から引用したものです。

GAS

1var sheet="meetings"; 2var sheetUrl="https://docs.google.com/spreadsheets/d/14xxxxxxxxxxxxxxxxxxuU/"; 3var ss = SpreadsheetApp.openByUrl(sheetUrl).getSheetByName(sheet); 4 5function doPost(e) { 6 7 //Zoom Webhookから受信 8 const jsonString = e.postData.getDataAsString(); 9 const data = JSON.parse(jsonString); 10 11 var event = data.event; 12 var topic = data.payload.object.topic; 13 var username = data.payload.object.participant.user_name; 14 15 //Zoomのeventを取得し、動作を決定する 16 ss.insertRows(1,1); 17 ss.getRange(1,1).setValue(jsonString); 18 var message = ""; 19 switch(event) { 20 case 'meeting.started': 21 message = '新しく' + topic + 'のZoomミーティングが開始されました'; 22 break; 23 24 case 'meeting.ended': 25 message = topic + 'のZoomミーティングが終了しました'; 26 break; 27 28 case 'meeting.participant_joined': 29 message = topic + 'のZoomミーティングに' + username + 'が参加しました'; 30 break; 31 32 case 'meeting.participant_left': 33 message = topic + 'のZoomミーティングから' + username + 'が退出しました'; 34 break; 35 36 default: 37 38 break; 39 40 } 41 42 sendSlack(event,message); 43 44} 45 46function sendSlack(meetingname,message){ 47 var token = "xoxp-000000000000-000000000000-000000000000-00000000000000000000000000000000"; //slackApp token 48 var slackApp = SlackApp.create(token);//SLack App 49 var channel="チャンネルの名前";//通知するチャンネル 50 51 return slackApp.postMessage(channel,message); 52 53 }

参考にしたページ

基本情報
Zoomの会議室の参加、退出をGASで受け取ってSlackに送信する

同じ躓き:webhookのValidate(webhook→Feature→Event notification endpoint URL)が通らない
【Zoom 2022】Zoom の会議開始を LINEアプリにお知らせする仕組みを Zoom Webhook と enebular で作る(Webhook のバリデーション対応も行いつつ)

GASでHMAC SHA 256を使う
【GAS】HMAC SHA 256を使って、文字列をキーでハッシュ化する方法

Slack トークン作成
Slackで新しいアプリを作成しOAuth Tokenを取得する

zoomマーケットプレイス
zoom|App Marketplace

zoom Validateについて
zoom|developers|Validate your webhook endpoint

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2023/02/17 14:34

結論として、現状の Google Apps Script でデプロイした 野良API で、現行の Zoom webhook を有効化することは不可能のようです。 (Zoomの開発者ページ と GASの仕様両方が原因) 詳しくは下記をご参照ください。 https://qiita.com/Qnoir/items/47af2baa74d70608af69
guest

回答1

0

結論として、現行の Google Apps Script でデプロイした 野良API で、現行の Zoom webhook を有効化することは不可能です。
(Zoomの開発者ページ と GASの仕様両方が原因)
詳しくは下記をご参照ください。
https://qiita.com/Qnoir/items/47af2baa74d70608af69

投稿2023/02/17 23:54

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問