2016年9月7日水曜日

チャットワーク × Google Apps for Work:Google Apps Scriptでチャットワークのタスク追加を自動化する方法(2)

  • このエントリーをはてなブックマークに追加


公式ブログでは、「チャットワーク × Google Apps for Work:Google Apps Scriptでチャットワークのタスク追加を自動化する方法」を全4回にわたり紹介します。前回はGoogle Apps Scriptを活用してタスクを自動化する方法を紹介しました。

今回は応用編で、Google Apps Scriptを使ってチャットワークの期限つきタスクを自動追加する方法を紹介していきます。



チャットワークにタスクを追加するAPIリクエストを作成


前回おこなった「週報作成」のタスクに、期限「9月9日」を自動追加するプログラムを作成していきましょう。

----------------------------------------------------------------------------------
・投稿したいチャット:マイチャット
・タスク担当者:自分
・タスク内容:「週報作成」というタスクを追加する
期限:9月9日
----------------------------------------------------------------------------------

タスクの追加に関するリクエストは、チャットワークAPIドキュメントのサイトより確認することができます。
タスクの期限はlimitというキーでpayload内に渡します。limitのパラメータの型はIntegerです。

----------------------------------------------------------------------------------

◆ タスクの追加に関するリクエスト
POST /rooms/{room_id}/tasks:チャットに新しいタスクを追加
body(必須):タスクの内容
limit:タスクの期限 (UNIX時間* で入力してください)
to_ids(必須):担当者のアカウントID (担当者のアカウントIDをカンマ区切りで)

◆ リクエストURL
https://api.chatwork.com/v1/rooms/{room_id}/tasks

----------------------------------------------------------------------------------

*UNIX時間とは:Wikipedia



getTimeメソッドでUNIX時間を取得する


Google Apps Scriptでは、getTimeメソッドでUNIX時間を取得することができますが、getTimeメソッドではミリ秒で取得するため、1,000倍にして単位を秒に変換しましょう。

----------------------------------------------------------------------------------
Dateオブジェクト.getTime()
----------------------------------------------------------------------------------


しかし、このまま実行するとlimtの値がintegerではないので、エラーとなってしまいます。



toFixedメソッドで指数表記を固定小数点表記に変換する


前述スクリプトの18行目、paramsへのパラメータ格納が終わったところにブレークポイントを設置して、デバッグしてみましょう。

payload内のlimitの値が指数表記になっていることが原因でエラーが出ているため、数値を固定小数点表記に変換するためにtoFixedメソッドを使いましょう。

----------------------------------------------------------------------------------
数値オブジェクト.toFixed(桁数)
----------------------------------------------------------------------------------

桁数には小数点以下の桁数を指定します。0または省略で小数点以下0桁の整数表記になります。スクリプト7行目の後に、下記を追加しましょう。




いざ、実行!


必要な要素を入力し、スクリプトを実行してみると、期限つきのタスクが自動追加されました!




まとめ


今回は、Google Apps Scriptを使って期限つきタスクを自動追加する方法について紹介しました。期限当日にタスクを自動通知してくれるので便利ですよ!





*監修:タカハシノリアキさん(@ntakahashi0505
いつも隣にITのお仕事:http://tonari-it.com/
  • このエントリーをはてなブックマークに追加

Chatworkをご存知ですか?

Chatworkは、業務の効率化と会社の成長を目的とした、メール・電話・会議に代わるコミュニケーションツールです。
Chatworkを試してみる

導入効果・活用事例などがわかるChatwork製品資料配布中!

Chatwork製品資料配布中!