LoginSignup
2
5

More than 3 years have passed since last update.

【GAS】GoogleドライブにPDFファイルが追加されたらChatworkへ通知する

Last updated at Posted at 2020-05-06

※投稿内容は個人の学習目的の記事であり、所属組織とは一切関係ありません。
 Chatwork公式ドキュメントではございませんので、自己責任でご利用ください。

こんにちわ、さかぐち(@sakaguchi_mamii)です。

今回はGoogleドライブを15分おきにチェックし、PDFファイルが追加されたらChatworkへ通知しようと思います。

Googleドライブの「フォルダID」を取得する

スクリプト内でどのフォルダのPDFファイルをチェックするのか指定するため、Googleドライブにアクセスし該当フォルダの「フォルダID」を取得します。

スクリーンショット_2020-05-06_08_56_23.png
https://drive.google.com/drive/folders/[フォルダID]

APIトークンを取得する

Chatworkにログインし、右上のメニューから「API設定」を選択する。
API設定.png

パスワードを入力する。
スクリーンショット 2020-04-29 20.30.31.png

APIトークンを取得する。
スクリーンショット_2020-05-04_06_29_18.png

ルームIDを取得する

メッセージを送信したいグループチャットのルームIDを取得する。
スクリーンショット_2020-04-29_20_32_05.png
グループチャットのURL末尾の数字がルームIDとなります。

ライブラリを読み込む

Chatworkへメッセージ送信は「Chatwork Client for Google Apps Script」を利用します。
「Google Apps Script」を開き、ライブラリを追加してください。

プロジェクトキー: M6TcEyniCs1xb3sdXFF_FhI-MNonZQ_sT

スクリーンショット 2020-04-23 11.54.09.png

スクリプト

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分おきに動かすトリガを設定します。

編集>現在のプロジェクトのトリガー を選択する。
スクリーンショット_2020-05-03_08_19_20.png

「トリガーを追加」をクリックする。
スクリーンショット_2020-05-06_09_10_19.png

内容を設定し「保存」をクリックする。
スクリーンショット_2020-05-06_09_12_38.png
今回は15分おきにGoogleドライブに新規ファイルの有無を確認したいので以下を設定します。

  • 時間ベースのトリガーのタイプを選択: 分ベースのタイマー
  • 時間の間隔を選択: 15分おき

テスト

Googleドライブにファイルをアップロード。
スクリーンショット 2020-05-06 07.40.23.png

通知がきました!
スクリーンショット 2020-05-06 08.52.00.png

最後に

FAXで送られた内容をGoogleドライブに格納できるサービスも増えてきました。
FAXの有無をChatworkに通知し、業務効率化を図ってみはいかがでしょうか?

※投稿内容は所属組織とは一切関係ありません。

2
5
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
5