【GAS】GoogleドライブにPDFファイルが追加されたらChatworkへ通知する
※投稿内容は個人の学習目的の記事であり、所属組織とは一切関係ありません。
Chatwork公式ドキュメントではございませんので、自己責任でご利用ください。
こんにちわ、さかぐち(@sakaguchi_mamii)です。
今回はGoogleドライブを15分おきにチェックし、PDFファイルが追加されたらChatworkへ通知しようと思います。
Googleドライブの「フォルダID」を取得する
スクリプト内でどのフォルダのPDFファイルをチェックするのか指定するため、Googleドライブにアクセスし該当フォルダの「フォルダID」を取得します。
https://drive.google.com/drive/folders/[フォルダID]
APIトークンを取得する
Chatworkにログインし、右上のメニューから「API設定」を選択する。
ルームIDを取得する
メッセージを送信したいグループチャットのルームIDを取得する。
グループチャットのURL末尾の数字がルームIDとなります。
ライブラリを読み込む
Chatworkへメッセージ送信は「Chatwork Client for Google Apps Script」を利用します。
「Google Apps Script」を開き、ライブラリを追加してください。
プロジェクトキー: M6TcEyniCs1xb3sdXFF_FhI-MNonZQ_sT
スクリプト
const token = 'ChatworkのAPIトークン';
const room_id = 'メッセージを送りたいグループチャットのルームID';
function myFunction() {
var folder = DriveApp.getFolderById('フォルダID');
// PDFファイルのファイル情報を取得
var files = folder.getFilesByType(MimeType.PDF);
while(files.hasNext()){
var file = files.next();
var create_date = file.getDateCreated();
var time_diff = (Date.now() - create_date.getTime()) / (60 * 1000);
// 15分以内に作成されたファイルか
if(time_diff < 15){
var body = '';
body += '[info][title]ファイルが追加されました[/title]';
body += 'ファイル名: ' + file.getName() + '\n';
body += 'URL: ' + file.getUrl();
body += '[/info]';
// Chatworkへ通知
sendMessage(body);
}
}
}
function sendMessage(body) {
var client = ChatWorkClient.factory({token: token});
client.sendMessage({
room_id: room_id,
body: body
});
}
トリガーの設定
const token = 'ChatworkのAPIトークン';
const room_id = 'メッセージを送りたいグループチャットのルームID';
function myFunction() {
var folder = DriveApp.getFolderById('フォルダID');
// PDFファイルのファイル情報を取得
var files = folder.getFilesByType(MimeType.PDF);
while(files.hasNext()){
var file = files.next();
var create_date = file.getDateCreated();
var time_diff = (Date.now() - create_date.getTime()) / (60 * 1000);
// 15分以内に作成されたファイルか
if(time_diff < 15){
var body = '';
body += '[info][title]ファイルが追加されました[/title]';
body += 'ファイル名: ' + file.getName() + '\n';
body += 'URL: ' + file.getUrl();
body += '[/info]';
// Chatworkへ通知
sendMessage(body);
}
}
}
function sendMessage(body) {
var client = ChatWorkClient.factory({token: token});
client.sendMessage({
room_id: room_id,
body: body
});
}
スクリプトを15分おきに動かすトリガを設定します。
内容を設定し「保存」をクリックする。
今回は15分おきにGoogleドライブに新規ファイルの有無を確認したいので以下を設定します。
- 時間ベースのトリガーのタイプを選択: 分ベースのタイマー
- 時間の間隔を選択: 15分おき
テスト
最後に
FAXで送られた内容をGoogleドライブに格納できるサービスも増えてきました。
FAXの有無をChatworkに通知し、業務効率化を図ってみはいかがでしょうか?
※投稿内容は所属組織とは一切関係ありません。
Author And Source
この問題について(【GAS】GoogleドライブにPDFファイルが追加されたらChatworkへ通知する), 我々は、より多くの情報をここで見つけました https://qiita.com/sakaguchi_mami/items/67cb8edfc854eec30071著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .