GAS

GASとchatworkを連携させるときによく使う処理まとめ

chatwork×GASを久々に使ったのだけど、すっかり忘れていたのでメモ・・・

APIトークンの発行・確認

フリープランの場合はAPI設定ページから確認・発行できる

チャットワークからメッセージ取得

function fetchMessage(token,room_id){
  var params = {
    headers : {"X-ChatWorkToken" : token},
    method : "get"
  };  
  var url = "https://api.chatwork.com/v2/rooms/" + room_id + "/messages?force=0";
  var response = UrlFetchApp.fetch(url, params);

  if(response.getContentText()){
    return JSON.parse(response.getContentText());
  }else{
    return '';
  }
}

チャットワークにメッセージを送る

function sendMessage(token,room_id,body){
  var params = {
    headers : {"X-ChatWorkToken" : token},
    method : "post",
    payload : {
      body : body
    }
  };
  var url = "https://api.chatwork.com/v2/rooms/" + room_id + "/messages";
  UrlFetchApp.fetch(url, params);
}

Webhookを使ってメッセージ送信をトリガーにGASを起動させる

GAS側ではdoPostを使って、チャットワーク側の情報を受け取る

function doPost(e) {
    var json = JSON.parse(e.postData.contents);
    var roomId = json.webhook_event.room_id; //ルームID
    var body = json.webhook_event.body;//メッセージ内容
}

GAS をウェブアプリケーションとして公開してチャットワーク側でwebhookにURLを設定をする

ABOUT ME
ytakeuchi
都内在住のフロントエンドエンジニア。2016年からフリーランスとして活動中。座右の銘は「昨日よりも楽に」。好きな言葉は「効率化」。こんな性格なのでプライベートではGoogle Apps Scriptばかり触っています。