Google TasksのAPIについて解説します。
Googleアカウントにログインした状態で以下のURLにアクセスすると、それぞれのサービス向けのGoogle Tasksを利用できます。
対象 | URL |
---|---|
iGoogleガジェット (ホーム ビュー) | https://mail.google.com/tasks/ig |
iGoogleガジェット (キャンバス ビュー) | https://mail.google.com/tasks/canvas |
モバイル | https://mail.google.com/tasks/m |
iPhone | https://mail.google.com/tasks/iphone |
Android | https://mail.google.com/tasks/android |
tasks/
の部分をtasks/a/[ドメイン名]
とすることでGoogle Apps版となります。
Google Tasks APIを利用するには、
が必要となります。Write your First App: Prerequisites - Google Apps Platform | Google Developers
すでにGoogle アカウントをもっているならば、この手順は不要です。さもなくばGoogle アカウントで新しいアカウントを作成できます。
Googleにログインした状態で、Google APIs Consoleを開きます。
[Create project]をクリックして、新しいプロジェクトを作成します。
[Service]タブを開きます。そして[Tasks API]の[OFF]をクリックします。利用規約への同意を求められますので、[I agree to these terms. ]にチェックを入れて[Accept]をクリックします。
[API Access]タブを開きます。そして[Create an OAuth 2.0 client ID...]をクリックします。
Product nameを入力し[Next]をクリックします。
[Application type]がWeb applicationになっていることを確認し、[Create client ID]をクリックします。
[API Access]タブで作成したClient IDの[Edit settings]をクリックします。
Redirect URIを設定します。
Google Tasks APIで必要となる、「Client ID」「Client secret」「Redirect URIs」の項目をメモします。
PHPを利用するものとして解説します。
まずDownloads - Google Project Hostingから、Google APIs Client Library for PHPをダウンロードします。そしてそれを展開します。
展開したファイルに含まれる/google-api-php-client/examples/tasks/index.phpをエディタで開きます。24行目以降の次の箇所のコメントを外し、Google APIへのプロジェクトの登録で取得したClient ID、Client secret、Redirect URIsに書き換えます。
// $client->setClientId('insert_your_oauth2_client_id'); // $client->setClientSecret('insert_your_oauth2_client_secret'); // $client->setRedirectUri('insert_your_oauth2_redirect_uri');
google-api-php-clientフォルダの、exampleとsrcフォルダをサーバにアップロードします。
先ほど編集した/google-api-php-client/examples/tasks/index.phpのページをアップロード先で開くと、ログインしているユーザーのタスクリストのタイトルが一覧表示されます。
https://www.googleapis.com/tasks/v1/users/userID/lists?parameters
Property Name | Value | Description |
---|---|---|
kind |
string |
リソースの種類。この値はつねに"tasks#taskList" |
id |
string |
タスクリストのID |
etag |
string |
リソースのETag |
title |
string |
タスクリストのタイトル |
selfLink |
string |
このタスクリストへアクセスするためのURL |
updated |
datetime |
タスクリストの最終更新日時 (RFC 3339 タイムスタンプ) |
https://www.googleapis.com/tasks/v1/lists/taskListID/tasks?parameters
Property Name | Value | Description |
---|---|---|
kind |
string |
Type of the resource. This is always "tasks#task". |
id |
string |
Task identifier. |
etag |
etag |
ETag of the resource. |
title |
string |
Title of the task. |
updated |
datetime |
Last modification time of the task (as a RFC 3339 timestamp). |
selfLink |
string |
URL pointing to this task. Used to retrieve, update, or delete this task. |
parent |
string |
Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level. |
position |
string |
String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position. |
notes |
string |
Notes describing the task. Optional. |
status |
string |
Status of the task. This is either "needsAction" or "completed". |
due |
datetime |
Due date of the task (as a RFC 3339 timestamp). Optional. |
completed |
datetime |
Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed. |
deleted |
boolean |
Flag indicating whether the task has been deleted. The default if False. |
hidden |
boolean |
Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only. |
links[] |
list |
Collection of links. This collection is read-only. |
links[].type |
string |
Type of the link, e.g. "email". |
links[].description |
string |
The description. In HTML speak: Everything between <a> and </a>. |
links[].link |
string |
The URL. |