MAGAZINE
ルーターマガジン
RPA
記事投稿のRPA自動化にも最適なMovable Type Data API 応用編
2018.09.14
こんにちは、学生エンジニアのKawaguchiです。
今回は、curlだけでMovable Typeに記事を投稿する方法の応用編についてです。
Movable Type Data API ドキュメントの中から一部だけ紹介していきます。
条件付きで記事一覧を取得する方法
取得する記事数を指定する
何も指定しない場合は、デフォルトで10記事が取得されるのですが、
$ curl http://<your-host>/<path-to-mt>/mt-data-api.cgi/<mt-version>/sites/<site-id>/entries?limit=<取得したい記事数>
というように、entriesの後に、?limit=<取得したい記事数>
を指定することで、記事数の指定ができます。
(その他の指定可能な条件はこちら)
カテゴリーを指定して投稿する
カテゴリーを指定して投稿するには、カテゴリーのidが必要となります。
流れとしては、カテゴリーの一覧を取得してから、カテゴリーのidを確認して、このidを記事を作成する時のData APIで指定します。
カテゴリーの一覧を取得する
$ curl http://<your-host>/<path-to-mt>/mt-data-api.cgi/<mt-version>/sites/<site-id>/categories
と実行すると、
{ "totalResults" : "1", "items" : [ { "basename" : "news", "parent" : "0", "archiveLink" : "http://example.com/news/index.html", "updatable" : false, "label" : "News", "class" : "category", "id" : 2, "blog" : { "id" : "1" }, "description" : null ] }
というようなJSONが返ってきます。
カテゴリーを指定して投稿
先ほど取得したJSONのレスポンスの中から、idを以下の通りに指定します。
また、アクセストークンを取得する方法は前回の記事に記載しております。
$ curl -X POST -H "X-MT-Authorization: MTAuth accessToken=<事前に取得したアクセストークン>" -d entry="{\"title\" : \"sample_title\", \"body\" : \"sample_body\", \"categories\":[{\"id\":2}]}" http://<your-host>/<path-to-mt>/mt-data-api.cgi/<mt-version>/sites/<site-id>/entries
投稿後の記事を削除・非公開にする方法
記事を削除する
-XにDELETEを指定して、削除したい記事のentry_idを指定すれば、削除することができます。
$ curl -X DELETE -H "X-MT-Authorization: MTAuth accessToken=<事前に取得したアクセストークン>" http://<your-host>/<path-to-mt>/mt-data-api.cgi/<mt-version>/sites/<site-id>/entries/<entry-id>
記事を非公開にする
記事が公開されている状態は、statusがPublishで、非公開の時はDraftとなっているので、
-XにPUTを指定して、-dのentryの中のstatusにDraftを指定します。そして、非公開にしたい記事のentry_idを指定すれば、非公開にすることができます。
$ curl -X PUT -H "X-MT-Authorization: MTAuth accessToken=<事前に取得したアクセストークン>" -d entry="{\"status\" : \"Draft\"}" http://<your-host>/<path-to-mt>/mt-data-api.cgi/<mt-version>/sites/<site-id>/entries/<entry-id>
まだまだ紹介しきれないほどData APIはたくさんあります!
みなさんも是非、Data APIを試してみてはいかがでしょうか?
CONTACT
お問い合わせ・ご依頼はこちらから