이메일을 채팅워크로 전달
추가 2015/09/09
분명히 비슷한 일을하는 더 깨끗한 방법이 생긴 것 같습니다.
Zapier에서 할 수있는 일과 초기 설정 방법 ~ 채팅 워크와 Zapier가 제휴 그 ① | ChatWork 블로그
회사에서 커뮤니케이션 도구를 통합하고 싶다고 생각했습니다.
채팅 워크의 API 토큰을 취득 할 수 있었던 것을 계기로 해 보면 할 수 있었으므로 소개
목표
읽지 않은 메일을 채팅 작업의 특정 방으로 전달
전제
할 일
채팅 워크의 API 토큰 얻기
2014-03-01 현재, 이용하려면 아직 신청이 필요
신청은 여기에서
htps //w w. 제대로 rk. 이 m/세 rゔぃせ/ぱcかげ s/ちゃとぉrk/す bぱcかげ s/아피/아 ply_베타. php
채팅 워크에 전달할 룸을 만들고 룸 ID 얻기
이번에는 "Mail Box"라는 방을 만들었습니다.
룸 ID는 빨간색 테두리의 숫자 부분
Google Apps Script에서 읽지 않은 이메일을 모니터링하고 방에 작성
여기가 이번 키모
먼저 GoogleDrive에서 빈 스프레드시트를 만들고 '도구' → '스크립트 편집기' → '빈 프로젝트'로 프로젝트 만들기
다음 스크립트 저장
function notifyMail() {
var token = '[APIトークン]';
var roomId = '[ルームID]';
// 未読メールを取得する 検索クエリを変更すれば転送するメールを絞ることも可能
var threads = GmailApp.search('is:unread');
if (threads == null || threads.length === 0) return;
for (var i = 0, tlen = threads.length; i < tlen; i++) {
var msgs = threads[i].getMessages();
for (var j = 0, mlen = msgs.length; j < mlen; j++) {
var msg = msgs[j];
if (!msg.isUnread()) continue;
var from = msg.getFrom();
var subject = msg.getSubject();
// 添付ファイルがあるときに時々エラーになるため、その場合は自前でプレーンテキスト化する
var body;
try {
body = msg.getPlainBody();
}
catch(e) {
body = msg.getBody().replace(/<br[^>]*>/g, '\n').replace(/<[^>]+>/g, '').replace(/&(lt|gt|quot|amp|nbsp|#x?[0-9]+);/g, function(w, $1) {
if ($1.indexOf('#x') === 0) {
return String.fromCharCode(parseInt($1.substr(2), 16));
}
if ($1.indexOf('#') === 0) {
return String.fromCharCode(parseInt($1.substr(1), 10));
}
return ({
lt: '<',
gt: '>',
quot: '"',
amp: '&',
nbsp: ' '
})[$1];
});
}
var link = 'https://mail.google.com/mail/ca/u/0/#inbox/' + msg.getId(); // Gmailへのリンク
// http://developer.chatwork.com/ja/endpoint_rooms.html#POST-rooms-room_id-messages
UrlFetchApp.fetch('https://api.chatwork.com/v1/rooms/' + roomId + '/messages', {
headers: {
'X-ChatWorkToken': token
},
method: 'post',
payload: 'body=' + encodeURIComponent(
// メールっぽく装飾する
// http://developer.chatwork.com/ja/messagenotation.html
'[info][title]' + subject + '\n'
+ 'from: ' + from + '[/title]'
+ body + '\n\n' + link + '[/info]'
)
});
msg.markRead();
}
}
}
사이고에 「리소스」→「현재 프로젝트의 트리거」로부터 시간 주도형의 이벤트를 추가한다
이상
Reference
이 문제에 관하여(이메일을 채팅워크로 전달), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kakusuke/items/5212fa9456a0a1cf320f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)