2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ChatWorkから、Slackにメッセージを転送するGoogle Apps Scripts

Posted at

ChatWorkから、Slackにメッセージを転送するGoogle Apps Scripts

var CHATWORK_TOKEN = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';//★ChatWork APIのトークン
var MY_ID = 'XXXXXXXXX';//★自分のチャットワークID
var ROOM_ID = ["XXXXXXXX", "XXXXXXXX"];//★チャットワークのルームID
var SLACK_TOKEN = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';//★Slack APIのトークン

function chatworkToSlack(){
 var params = {
   headers : {"X-ChatWorkToken" : CHATWORK_TOKEN},
   method : "get"
 };
 
 for (var i = 0; i < ROOM_ID.length; i ++) {
   var url = "https://api.chatwork.com/v2/rooms/" + ROOM_ID[i] + "/messages?force=0";
   var strRespons = UrlFetchApp.fetch(url, params);
   if (strRespons != "") {
     var json = JSON.parse(strRespons.getContentText());
     if(json == "") return;
     for each(var obj in json){
         var message = '';
         for(var i in json){
           message = message + json[i].account.name + "\n```" + json[i].body + "```\n";
           postMessage(message);
       }
     }
   }
 }
}


function postMessage(message) {
 var url        = 'https://slack.com/api/chat.postMessage';
 var token      = SLACK_TOKEN;
 var channel    = "#XXXXXXXXXXXXXXXXX"; // ChatWorkのチャネル
 var username   = "ChatWork";
 var parse      = 'full';
 var icon_emoji = ':robot_face:';
 var method     = 'post';
 var payload = {
 'token'      : token,
 'channel'    : channel,
 'text'       : message,
 'username'   : username,
 'parse'      : parse,
 'icon_emoji' : icon_emoji
 };
 var params = {
   'method' : method,
   'payload' : payload
 };
 var response = UrlFetchApp.fetch(url, params);
}

function test_postMessage() {
  postMessage("ハロー");
}

function test_checkMessage() {
 Logger.log("start test_checkMessage");
 var params = {
   headers : {"X-ChatWorkToken" : CHATWORK_TOKEN},
   method : "get"
 };
 
 for (var i = 0; i < ROOM_ID.length; i ++) {
   var url = "https://api.chatwork.com/v2/rooms/" + ROOM_ID[i] + "/messages?force=0";
   var strRespons = UrlFetchApp.fetch(url, params);
 Logger.log("strRespons");
       Logger.log(strRespons);
   if (strRespons != "") {
     var json = JSON.parse(strRespons.getContentText());
     if(json == "") return;
     for each(var obj in json){
       Logger.log(obj.body);
         var message = '';
         for(var i in json){
           message = message + json[i].account.name + "\n```" + json[i].body + "```\n";
       Logger.log(message);
           postMessage(message);
         }
     }
   }
 }  
}
2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?