4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

 Googleカレンダーの予定、メール、TODOリストの情報を取得・操作するのに、GASはとても便利ですよね。
 弊社はメールやカレンダーの標準ツールにGoogleを使用しているのですが、
 そのような会社では、コミュニケーションツールはTeamsやslack等、Googleではない場合が殆どではないでしょうか。
 私は、slack、Teams、Chatworks、Zohoを業務で利用しています。
 複数ツールを使用していると、GASから外部のREST APIを使用したい場面が多々あります。

今回は、GASからZohoのWebhook APIを呼び出すプログラム を実装したので、手順をご紹介します。

やってみたこと

Googleスプレッドシート上の「出勤」ボタンを押下するとGASが実行される。
そして、Googleカレンダーより本日分の予定会議とTODOリストを取得し、
Zoho Cliqのチャンネルにメッセージ投稿する。
(私が出勤したことを社内メンバーにお知らせする意味も兼ねています。)

この記事で書かないこと

:negative_squared_cross_mark:GASでの、予定やTODOリスト取得の実装方法
(Web検索すると多くの記事がHitしますので、ここでは説明しません。)

この記事で書くこと

:white_check_mark:Zoho Cliqへ メッセージ投稿するための、Webhook URLの調べ方
:white_check_mark:GASでZoho Cliqへ メッセージ投稿するサンプルソース

必要な情報(Webhook URL)の取得

まず、メッセージ投稿先の Zoho CliqのWebhook URLを調べます。

Webhook URLの調べ方

  1. Zoho Cliq 起動
  2. 右上にあるプロフィール画像をクリック
  3. Bots & Tools に移動
  4. Webhook Tokensに移動(左下から2番目)
  5. IDの認証画面が表示されたらパスワード認証して 次画面へ進む
  6. Webhookトークン一覧画面にて、トークンを選択。(1件目でOK)
  7. [WebhookのURLを取得する]ボタン押下して 「WebhookのURL取得」画面へ進む
    1. タブで「チャンネル」を選択(チャンネル、ボット、拡張機能 から選べる)
    2. チャンネルを選択
    3. 「WebhookのURL」の文字列が表示されます。
    4. 右端の コピー ボタン押下
      スクリーンショット 2024-06-19 200422.png

サンプルソース

GASの実装です。(Zoho Cliqへメッセージ投稿する箇所のみ抜粋)

postToZohoCliq.gs

function postToZohoCliq(strMsg) {
  // 「必要な情報(Webhook URL)の取得」の手順で取得したWebhook URLをペースト
  var url = "https://cliq.zoho.com/api/v2/channelsbyname/{$channel-unique-name}/message?zapikey={paste_webhook_token_here}";  
  
  var payload = {
    text: strMsg //送信したいメッセージをここに書きます
  };
  
  var options = {
    method : "post",
    contentType: "application/json",
    payload: JSON.stringify(payload)
  };
  
  try {
    var response = UrlFetchApp.fetch(url, options);
    Logger.log(response.getContentText());
  } catch (e) {
    Logger.log("メッセージ送信に失敗しました: " + e.message);
  }
}

実行イメージ

TPIYDM1KWIKGoJjUkOsS1718797909-1718797996.gif

  1. 「出勤」ボタンでGAS起動
  2. Googleカレンダーより本日の予定会議とTODOリストを取得
  3. 投稿メッセージ文字列を生成
  4. Webhook APIで、Zoho Cliqへメッセージ投稿
    意図した通り、メッセージ投稿されましたね!

私の場合は、このように日々の作業メモ用にスプレッドシートを用意してメモを取ったり、
毎朝の機械化可能なルーチンワークを「出勤」ボタンのGASに集約して省力化しています。

ご参考になれば幸いです。

参照したリファレンス

Working with Webhook Tokens

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?