~API連携により、タスクワールドの可能性が大幅に広がります!~
今回は Taskworld API でタスクを登録するサンプルプログラムをご紹介します。
Javascript(jQuery)と PHP で、フロント/サーバそれぞれからリクエストを送信する場合のサンプルです。

それでは、Let's スタート!
※API のリファレンスはこちらのドキュメントを参照してください。
https://api-docs.taskworld.com/
※前回の記事「イッキに解説します!タスクワールド APIの使い方!」もご参照ください。
※本稿に掲載されているインターフェース画像は記事がリリースされた時点のものであり、現在のものとは完全に一致しない場合があります。
------
Javascript で Taskworld API を呼び出してみよう!
まずは Javascript でブラウザのフォームからタスクワールドにタスクを登録するプログラムを動かしてみましょう。
1. ソースコード
こちらからサンプルソースをダウンロードして下さい。
ファイルを解凍してテキストエディタで開いて下さい。内容はajax 関数でリクエストを送信して、画面に結果を表示するだけのシンプルな処理です。
2. 認証キー・IDを用意
タスク登録には以下のパラメータが必要になります。タスクワールドのデータを確認しておきましょう。それぞれの取得方法は前回の記事を参考にしてください。
・認証キー
・スペースID
・プロジェクトID
・リストID
これらのパラメータをソースに直接記入して.html 形式で任意の場所に保存します。
このファイルをWebブラウザで開くと下図のようなフォームが表示されます。
3. API 呼び出しを実行
それでは API 呼び出しを実行してみましょう。
下のようにフォームのテキスト欄にタスク名を入力してボタンを押すと、ajax 通信で非同期リクエストが送信されます。

result 欄に「OK」と表示されたら処理成功です。
タスクワールドのプロジェクトを表示すると、以下のようにタスクが追加されていることが確認できますね。

なお、API でタスクを作成する際は、タスク名しか設定ができないのでご注意ください。
期限などを設定するには、別途タスク更新(task.update)を行う必要があります。
PHP で Taskworld API を呼び出してみよう!
次はサーバから PHP で Taskworld API を呼び出すサンプルです。
今回は、タスク登録の後にタスク更新も実行して、期日などの詳細設定を同時に行ってみましょう。

1. ソースコード
PHP のサンプルソースはこちらになります。
2. POST リクエストの送信方法
今回は POST リクエストを2回実行するので、送信処理を関数化しています。
関数ではリクエストボディを送信するために stream_context_create でストリームコンテキストを作成し、file_get_contents を実行します。
コンテキストオプションの詳しい説明はこちらを参照してください。
もしパフォーマンスなどが気になる場合は、file_get_contents の代わりに curl を使用すると良いでしょう。
3. 認証キー・IDを用意
タスク登録に必要なパラメータを用意します。それぞれの取得方法は前回の記事を参考にしてください。
・認証キー
・スペースID
・プロジェクトID
・リストID
用意したパラメータをプログラムで以下のように定義します。
新しく登録するタスクの名前は引数で受け取るようにしましょう。
4. タスクの登録・更新
タスク登録とタスク更新の実装は以下のようになります。
下図の上部「①タスク登録」がタスク登録を実行するブロックです。先ほど作成した POST 送信関数に URL、APIコマンド名、パラメータを渡していますね。
登録時はコマンドに "task.create" を指定します。
タスク登録に続き、タスク更新の実装です。
図の「②タスク更新」のブロックで、タスク ID と以下の詳細情報をクエリパラメーターに設定しています。コマンドには ”task.update” を指定します。
・タスク ID(直前に実行した登録リクエストのレスポンスから取得)
・タスクのポイント数
・タスクの色
・説明
・タスクの開始日(=現在時刻を設定)
・タスクの期日(=1週間後を設定)
5. API 呼び出しを実行
PHP の実行環境にソースファイルを配置して、コンソールから実行してみましょう。
下図のように実行時引数でタスク名を渡すと、その名前でタスクが登録されます。

タスクワールド上でタスクリストを確認すると、リアルタイムでタスクが登録されます。
赤枠で囲んだ箇所は task.update で更新した部分です。期日などの設定が確認できますね。
タスクワールドをもっと便利に!
今回ご紹介した処理を応用することにより、外部システム上での作業進捗を、タスクワールドと連携することができ、プロジェクト管理における利便性が大幅に向上します。
例えば Wordpress の場合を考えてみましょう。
下書きを投稿した時にタスクを登録するプラグインを作成すれば、スタッフの誰かが記事を作成する度にタスクが追加されて、タスクワールド上で未公開記事の状況が確認できるようになります。
煩雑なプロジェクト管理を自動化/一元化できると助かりますよね。
ぜひ、お使いのシステムで Taskworld API を活用してみてください!
--------------
タスクワールドは、30日間無料でトライアル利用が可能です。
トライアル期間中は、アナリティクス機能を含む、そのすべての機能を無制限で使えます。
日本語によるサポートもバッチリなので、ぜひ気軽にトライアルスタートを!