CG・映像デザイナー技術ブログ

【ChatWork】Gmailの内容をChatWorkへ転送する方法

ChatWork使っているのですが、情報をできるだけ一元化したいので、試してみました。



chatwork-summary-article


【Chatwork】仕事効率化!10個のおすすめの便利機能と拡張機能まとめ

Gmailの内容をChatWorkへ転送する方法

参考 【GAS】大事なメールがきた時に人気声優がチャットワークで教えてくれるやつを作った - Qiita取得できませんでした
  • 最新未読の3件まで読み上げます。
  • 使用するラベルは予めGmailに登録する必要があります。今回はnotifyというラベルだけ使用
  • APIトークン、ルームID、ユーザーID、ラベルをすべて入力する必要があります。
  • t.addLabel(ISREAD_LABEL);関連は使わないので削除
var API_TOKEN = 'ChatWorkのAPIトークン'
, ROOM_ID = 'ルームID'
, TARGET_ID = 'ユーザーID'
, LABEL = '(label:notify)'
, UNREAD_LABEL = GmailApp.getUserLabelByName('notify')
;
function send(message) {
var params = {
headers : {"X-ChatWorkToken" : API_TOKEN},
method : "post",
payload : { body : message }
}
, url = "https://api.chatwork.com/v2/rooms/" + ROOM_ID + "/messages"
;
UrlFetchApp.fetch(url, params);
}
function checkNewMessage() {
var query = LABEL
, thread = GmailApp.search(query, 0, 3)
, importantMessages = GmailApp.getMessagesForThreads(thread)
;
for(var i in importantMessages) {
var body = ''
, message = ''
;
body = importantMessages[i][0].getPlainBody() || null;
message = "[To:" + TARGET_ID + "]様へnメールが届きました。nn" + body;
send(message);
}
thread.forEach(function(t) {
t.removeLabel(UNREAD_LABEL);
});
}

チャットワークAPIの仕様変更で、APIからの投稿がTOがつかないので、通知に気が付きにくいです。

BOTを使う前提でおすすめします。

以上、すいみん(@cg_method)でした!