MTのDataAPIで認証してテンプレートの内容を取得するのをPostmanで試す
API周りを確認するときに、 Postman で試すことが多い。
MTの Data API リファレンスを見ていて、
Movable Type Data API v6
https://movabletype.github.io/...
「Retrieve single template by its ID」はテンプレートの中身が返ってくるのであってたよなぁ?というのがぱっと見わからなかったので確認してみた。
結果としては text
に入ってくるのは確認できた。Response samples
の方にもなんか書いてほしいような気はしつつ。。。
DataAPI で認証する
まずMTの認証をして token
を取得する。
エンドポイントは /mt-data-api.cgi/v6/authentication
DataAPIで特定のテンプレートを取得する
エンドポイントは /mt-data-api.cgi/v6/sites/{site_id}/templates/{template_id}
認証時の レスポンスに入ってきている accessToken
を利用する。
テンプレートIDとるところは割愛。
Header に X-MT-Authorization
のリクエストヘッダとして MTAuth accessToken=<ACCESS_TOKEN>
の形でセットする
クイック スタート ガイド - Data API ドキュメント | CMSプラットフォーム Movable Type ドキュメントサイト
https://www.movabletype.jp/dev...
ひとまずこれで、指定したテンプレートの中身が見えているのが確認出来た。
Token を保存して利用する
AccessToken
をコピって使うのは多分違うよなとおもってしらべてみた。
変数にセットする方法がある。
Postmanで認証ありのAPIを叩けるように設定してみた
https://zenn.dev/rescuenow/art...
Writing tests | Postman Learning Center
https://learning.postman.com/d...
collection を作ってその中で認証のところと、テンプレート取得の所をまとめておく。
認証の方で、Tests
のタブの中で collectionVariables
にセットしておくことで、そのコレクション内で利用できる。
var data = JSON.parse(responseBody); pm.collectionVariables.unset("accessToken2"); pm.collectionVariables.set("accessToken2", data.accessToken);
Header
の value
を指定するところで {{
を入力すると先ほどセットした accessToken2 がサジェストされる。
これで Token が有効な間は認証が必要なAPIも確認できる。
変数にはグローバルのもあるようで
var data = JSON.parse(responseBody); pm.globals.unset("accessToken"); pm.globals.set("accessToken", data.accessToken);
こんな感じでグローバル変数としてセットすることで、
コレクションにいれなくとも利用することが出来る。
参考記事
- Postmanで認証ありのAPIを叩けるように設定してみた
https://zenn.dev/rescuenow/art... - Postmanはとっても便利 ~ 環境変数と認証トークン | 定年後にWeb開発者目指す
https://software.pitang1965.co...