タスクワールド(Taskworld)ブログ

とにかく使いやすい!実際の業務で重宝する機能が満載!

タグ:サンプル

〜世界基準プロ管ツール タスワーの可能性を更に広げるAPIの記事をご紹介!〜

これまでにご紹介してきた「タスクワールドAPI連携」に関する記事を一覧にまとめました。
(更新日:2018年10月10日 午後12時)

「この様な視点、このようなニーズに対応をしたタスクワールドAPI連携に関してのヒント記事に興味がある!」という方は、タスクワールド公式サイトより、気軽にお問い合わせください!

API

★API連携

APIでタスクワールドが更に便利に!GAS botのサンプルプログラム!!

タスクワールドAPI、Javascript サンプルプログラムを使ってみましょう!

Javaや PHPで、タスクワールドをもっと便利に!

イッキに解説します!タスクワールド APIの使い方!

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

タスクワールドは、15日間無料でトライアル利用が可能です。
トライアル期間中は、アナリティクス機能を含む、そのすべての機能を無制限で使えます。
日本語によるサポートもバッチリなので、ぜひ気軽にトライアルスタートを!

twbanner_700x230_ja

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

〜Google Apps Script で タスクワールドのチャットに通知する bot を作りましょう!〜

API


今回は Google Apps Script(以下GAS)を使用して、タスクリストの期限切れタスクの件数をチャットに通知する bot を作成します。

このサンプルでは Google とタスクワールドのアカウントが必要になります。また、タスクワールド API で使用する ID も用意しておきましょう。ID はタスクワールド画面の「アカウント設定 > データのダウンロード」からダウンロードするか、または<前回記事>のサンプルソースで取得できます。


スクリプトを作成

まずはGoogle Apps Script プロジェクト一覧画面で新規スクリプトを作成し、スクリプトエディタを開きます。

このエディタ上にサンプルスクリプトをコピーペーストして保存します。プロジェクト名・ファイル名は任意で構いません。

editor



プロパティを登録

次にアクセストークンと ID をスクリプトプロパティに登録します。

メニューの「ファイル > プロジェクトのプロパティ」から「スクリプトのプロパティ」を開き、以下のようにプロパティを追加します。

properties


スクリプトの実行を承認

ここまで準備したら動作確認を行いましょう。myFunction 関数を選択してメニューバーのデバッグボタン(虫のマーク)をクリックします。

debug


すると、最初に実行する時は「承認が必要です」というメッセージが出てきます。

「許可を確認」をクリックし、次の「アカウントの選択」フォームで使用アカウントをクリックします。この後、許可ボタンが表示されれば許可に進みますが、「このアプリは確認されていません」と表示されたら「プロジェクト名(安全ではないページ)に移動」をクリックし、メッセージに従って進んでください。

permission


承認が完了するとスクリプトが実行されます。

タスクワールドのチャットに以下のようなメッセージが表示されたら成功です!

message



スケジュールを設定

スクリプトを定期的に実行したい場合は、GAS でトリガーを登録しましょう。

スクリプトエディタのメニューから「編集 > 現在のプロジェクトのトリガー」でフォームを開き、トリガーを追加して任意のタイミングを設定します。下図の場合、毎週月曜の午後に myFunction 関数を実行します。

trigger



スクリプトの実装内容

スクリプトに実装した処理内容を簡単にご説明します。

最初に実行する myFunction 関数は、期限切れタスクの件数を数えてメッセージを送信するメイン処理です。

func1MyFunc


myFunction からラッパー関数を呼び出してタスクリストの取得およびメッセージの送信を行います。また、スクリプトプロパティにアクセスし、各 API で送信するパラメータを用意します。

func2Wrapper


postRequest 関数はタスクワールド API の呼び出しを実行します。

func3Apicall



まとめ

今回はさらに実践的な内容となりましたが、いかがでしたか?

GAS を使うとスクリプトの実行環境や定期処理が無料で利用できてとても便利ですね。また、GAS からデータをスプレッドシートに記録したり、他のサービスへ連携するハブにも使えます。

プロジェクト管理は何かと大変ですが、API を活用して便利な環境を作っていきたいですね!

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

タスクワールドは、15日間無料でトライアル利用が可能です。
トライアル期間中は、アナリティクス機能を含む、そのすべての機能を無制限で使えます。
日本語によるサポートもバッチリなので、ぜひ気軽にトライアルスタートを!

twbanner_700x230_ja

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

〜API連携により、タスクワールドの可能性が大幅に広がります!〜

API


今回は Taskworld API で情報を取得する Javascript のサンプルプログラムをご紹介します。こちらは認証ユーザーに紐づく情報を取得してワークスペース内の情報をツリー状に表示しますので、登録情報のご確認や仕様理解のご参考にお使いいただけます。

本稿ではプログラムの使い方と実装のポイントをご説明します。


サンプルプログラムの使い方

まずはサンプルの使い方をご説明します。こちらのファイルを PC にダウンロードして解凍して下さい。

※本記事の公開時点ではセキュリティ上の理由から API サーバ側で CORS 制限を掛けています。そのため本プログラムをWEB サーバーから直接配信する場合は情報取得時にクロスドメインエラーが発生しますのでご注意ください。

htmlファイルをブラウザで開くと以下のように表示されますので、email と password 欄に登録済みユーザーの認証情報を入力して「情報取得」ボタンをクリックします。

tool01

認証情報を間違えると以下のように result 欄にエラー情報が表示されます。この場合は再入力してリトライしてください。

tool02_autherr

認証に成功すると以下のようにユーザー情報とワークスペース情報が表示されます。

tool03_authok

「ユーザー情報」には認証したユーザーの登録情報とアクセストークン、デフォルトスペース ID(ユーザー登録時最初に作成したワークスペース)が表示されます。

「ワークスペース情報」には、ユーザーが参加しているワークスペースの一覧が表示されます。(default)となっているのは認証したユーザーのデフォルトスペースです。

ワークスペース名がASCII文字以外の場合、ワークスペース名はハッシュコードの形になります。これはプロジェクト ID とは違うので注意してください。

※なお、こちらは記事公開時点の仕様であり、今後変更される可能性があります。

ワークスペース名をクリックすると、アコーディオンが展開してワークススペースの詳細を表示します。

tool04_workspace

丸括弧でくくった数字は下位のアイテムの件数です。

「channels」「projects」のアイテムをクリックすると各々の詳細を表示します。

「channels」はチャットの情報です。

「general / project channel(s)」 はそれぞれワークスペースとプロジェクトのデフォルトのチャットです。

「group channels 」は任意で作成したグループチャット、「direct channels 」はダイレクトメッセージです。チャット情報を展開すると以下のようになります。

tool05_channels

「project(s)」はプロジェクトの情報です。アコーディオンを展開するとプロジェクトの詳細とタスクリストが表示されます。タスクリストとタスクはさらにクリックして詳細を表示できるようになっています。

tool06_projects



以上がサンプルプログラムの使い方です。


実装のポイント

このプログラムの実装のポイントとしては、階層化された情報を順番に取得するための仕組みを設けた点がまず挙げられます。タスクワールドのオブジェクトの情報を取得するには上位オブジェクトの ID を指定する必要があるため、必然的にこのようなスタイルになります。

また、一度にすべての関連情報を取得すると大量の通信が発生するため、本プログラムではアコーディオン表示を展開した時に追加情報を取得しています。

イベントごとに行う処理は以下の通りです。

★「情報取得」ボタン押下時
・auth(ユーザー認証)
・user.get-info(認証ユーザーのユーザー情報を取得)
・workspace.get-user(ユーザー名表示のためワークスペースのユーザー情報を取得)
・workspace.get-all(ワークスペースの情報を取得)
・channel.get-all(各ワークスペースのチャット情報を取得)

★ワークスペース表示展開時
・project.get-all(プロジェクト情報取得)
・tag.get-all(タブ名表示のためタグ情報を取得)

★プロジェクト表示展開時
・tasklist.get-all(タスクリスト取得)

★タスクリスト表示展開時
・tasklist.get-tasks(タスク情報取得)



本プログラムでは各アイテムを識別しやすくするために、ユーザーやタグについては登録名も表示しています。ですが、以下の情報は記事公開時点ではAPIから取得できませんので、こちらはタスクワールド管理画面で確認していただく必要があります。

・日本語のワークスペース名
・プロジェクトチャットのプロジェクト名



まとめ

いかがでしたか?今回は情報取得のみでしたが、更新や追加の API を組み合わせれば自由なデザインでタスクワールドを操作できるようになります。興味がある方はぜひトライしてみてくださいね。


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

タスクワールドは、15日間無料でトライアル利用が可能です。
トライアル期間中は、アナリティクス機能を含む、そのすべての機能を無制限で使えます。
日本語によるサポートもバッチリなので、ぜひ気軽にトライアルスタートを!

twbanner_700x230_ja

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

↑このページのトップヘ