xiangtaiyugu
@xiangtaiyugu (SHT AMG)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

GAS GoogleChat Webhook

GoogleChatで複数のChatSpaceがある場合のWebhookの取得について

既存のchatspaceのwebhookとは別のchatspaceで追加のwebhookを取得する事は可能でしょうか

<具体例>
Google WorkSpaceにて
既にあるGooglechatのchatspaceでWebhookを使用している場合、別のchatspaceでWebhookを取得すると
既に取得済のWebhookが書き替えられてしまい、既存のchatspaceのWebhookは使えなくなってしまいます。
また、取得済のWebhookのchatspace内で別のWebhookを追加すると既存のWebhook取得済のchatspace内にWebhookが追加されてしまいます。

ネットでも調べましたが出てこなく、GAS初心者のため、もし何かあれば御教授お願い致します。

0

1Answer

Google ChatのWebhookは、各チャットルームごとに異なるWebhook URLを持っています。そのため、複数のチャットルーム(ChatSpace)で異なるWebhookを取得することは可能です。

新しいチャットルームでWebhookを設定するには、以下の手順に従ってください。

  1. Google Chatで新しいチャットルーム(ChatSpace)を開きます。
  2. 右上の設定アイコン(歯車アイコン)をクリックします。
  3. 「ウェブフックの管理」をクリックします。
  4. 「ウェブフックを追加」ボタンをクリックし、ウェブフックの名前を入力します。
  5. 作成されたウェブフックのURLが表示されるので、コピーして保管しておきます。
    このURLは、新しいチャットルームのWebhookとして使用できます。各チャットルームで異なるWebhook URLを使用すれば、複数のチャットルームでWebhookを利用することができます。

Google Apps Script(GAS)で複数のWebhookを使用する場合、各チャットルームのWebhook URLを指定して、メッセージを送信することができます。例えば、以下のようなコードで、2つの異なるチャットルームにメッセージを送ることができます。

function sendToMultipleChatspaces() {
  var chatSpace1WebhookUrl = 'https://chat.googleapis.com/v1/spaces/XXXXX/messages?key=XXXXX&token=XXXXX';
  var chatSpace2WebhookUrl = 'https://chat.googleapis.com/v1/spaces/YYYYY/messages?key=YYYYY&token=YYYYY';
  var message = {
    "text": "これはテストメッセージです"
  };

  var options = {
    method: 'post',
    contentType: 'application/json',
    payload: JSON.stringify(message)
  };

  // ChatSpace 1にメッセージを送信
  UrlFetchApp.fetch(chatSpace1WebhookUrl, options);

  // ChatSpace 2にメッセージを送信
  UrlFetchApp.fetch(chatSpace2WebhookUrl, options);
}

このコードでは、chatSpace1WebhookUrlchatSpace2WebhookUrlにそれぞれ異なるチャットルームのWebhook URLを指定しています。このようにして、複数のチャットルームに同時にメッセージを送信することができます。

1Like

Comments

  1. @xiangtaiyugu

    Questioner

    ご丁寧にありがとうございます。試しに別のchatroomでwebhook作成してみたところ、webhookURLが出来て無事にchat送信できました!

Your answer might help someone💌