GeekFactory

int128.hatenablog.com

Tasks APIが返すタスクのselfLinkプロパティ

Tasks APIの挙動が変わったみたい。と思って書いていましたが、12/9 12:30現在、仕様通りに戻っています。メモとして残しておきます。

Tasks APIでタスクを取得する場合の仕様は以下のように書かれています。

Retrieving tasks

Response:
HTTP/1.1 200 OK

{
  items: [
    ...,
    {
      id: "taskID",
      kind: "tasks#task",
      selfLink: "https://www.googleapis.com/tasks/v1/lists/taskListID/tasks/taskID",
      title: "Something to do",
      ...
    },
    ...
  ]
}
http://code.google.com/intl/ja/apis/tasks/v1/using.html#retrieving_tasks

したがって、実際に得られるタスクは以下のようになるはずです。

{
  items: [
    ...,
    {
      id: "MTExAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTY0",
      kind: "tasks#task",
      selfLink: "https://www.googleapis.com/tasks/v1/lists/MTExAxBxCxDxExFxGxTow/tasks/MTExAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTY0",
      title: "飲み屋を予約する",
      ...
    },
    ...
  ]
}

ところが、12/8の夜から以下のようなタスクが返されるようになりました。タスクのselfLinkプロパティが %s になっています。

{
  items: [
    ...,
    {
      id: "MTExAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTY0",
      kind: "tasks#task",
      selfLink: "https://www.googleapis.com/tasks/v1/lists/%s/tasks/%s",
      title: "飲み屋を予約する",
      ...
    },
    ...
  ]
}

12/9 12:30現在、仕様通りに戻ったようです。いったい何だったのだろうか。selfLinkプロパティからタスクリストIDを取得していたので困りました。

Google Groupsを見るとバグだったようですね。

This is definitely a bug. I got other reports of this and it seems to
affect all tasks of all users. It is definitely not the intended behavior.
I have let our engineering team knows hopefully this will be rolled-back
soon.

https://groups.google.com/group/google-tasks-api/browse_thread/thread/4659994ddbea4e8b/8b0ff15b4f49f586?hl=ja&lnk=gst&q=selfLink#8b0ff15b4f49f586