しばらくMTをさわっていなかったらいつの間にか実装されていたDataAPIという機能。
とても便利だったので、なんでもできんじゃん!と思っていたら案外微妙なところがあったのでその辺のメモ。
基本的にはマニュアル通りでいけるが、以下は実現できなかった。
Movable Type Data API ドキュメント
※基本的な書き方は公式マニュアル等を参照ください。
カスタムフィールドの検索はできない
検索結果としてカスタムフィールドの値は取得できるが、検索条件には含められない。
なので、検索結果を手動でフィルタリングする必要がある。
検索条件(search)を指定すると検索結果のcategoriesが空
http://[MTのURL]/mt-data-api.cgi/v2/sites/[サイトID]/entries?search=検索文字列
オプションに検索条件「search=検索文字列」を指定してDataAPIから取得した際に、記事のcategoriesが空で返ってくる。
これは悲しかった。。。これのおかげでDataAPIをあきらめてflexible Searchを使用することにしました。
複数カテゴリを指定して記事取得はできない
できなかった。1つのカテゴリを指定することはできるのになー
なので、「全件取得してカテゴリでフィルタリング」 or 「カテゴリ数分APIで取得する」をする必要がある。
取得件数は必ず指定する(デフォルト10件)
limitオプションで取得件数を指定できるが、指定しないと10件しか返ってこない(全件ではない)ので注意。
#感想
DataAPIは基本的なことは実現できるけど、少し変わったことをしようとするとできないことが多い。
もしかしたら知らないだけなのかもしれないけれど。
複数カテゴリ指定とかありそうなんだけどな。
あと仕方ないところだけど遅い。後々flexible Searchで実装したのと比較するとだいぶ違った。
以上、メモでした。