0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Postman を使って Linode API を使い始める

Posted at

Linode API

Linode は開発者フレンドリーなクラウドであり、CLI や API で制御できます。Linode API を使う上で、Postman を使うと簡単に動作確認できるので紹介します。

Linode とは

Linode についてはこちらを参照してください。

Postman とは

Postman は API を構築し利用するためのプラットフォームです。API のテストや検証の管理が容易に行なえます。Web 版とアプリケーション版があり、無償で始められます。

Linode API の Postman コレクション

Linode API のセットは Postman コレクションの形で共有されています。こちらを使えば、視覚的にも容易に API の動作確認ができます。

https://www.postman.com/api-evangelist/workspace/linode/overview

自分の環境を作成するためのフォーク

フォークとは、コピーのようなものです。プライベート環境にフォークすれば、自分専用の環境を用意できます。コード管理でいえば、新しいブランチができ、個別に管理できるようなものです。Postman ではコレクション、環境などをフォークすることができます。実行する前に Postman のアカウントを取得してください。

フォーク元を選択

地球儀のようなマークがある共有されているワークスペース (Linode) からコレクション(Linode)に対して Create a fork します。同じ名前がつけられているので混乱するかもしれませんが、すぐに慣れると思います。
linode-create-a-fork2.jpg

フォーク先のワークスペースの選択

自身のプライベートな環境にフォークされるワークスペースを選択します。ワークスペースは事前に作成しておく必要があります。
fork-collection.jpg

プライベートなコレクションの作成完了

private-workspace-linode.jpg

次に認証情報の設定をします。

Linode ポータルからトークンを取得する

Linode ポータルにログインすると、API トークンを発行できます。
linode-api-token-menu2.jpg

Linode API の Getting Started にトークンについて書かれていますので参照してください。

Create Token すると Personal Access Token (トークン)が作成されます。このトークンはその後、見えなくなりますので、セキュアに記録しておきましょう。
personal-access-token2.jpg

Postman にトークンを設定する

Postman では設定を階層で管理できます。共通設定を親に設定しておき、子は引き継ぐ設定をすると管理が楽になります。親の階層にトークンを設定します。各エンドポイントに対して個別に設定することも可能です。
linode-auth-menu.jpg

Type に OAuth 2.0 を選択、Access Token に Linode Portal で取得したトークンを入力します。
postman-auth-config2.jpg

Linode API を使ってみる

本例では、事前に作成済みのLinode仮想マシンインスタンスがすでにあるので、API で情報を取得できるか確認してみます。もし、仮想マシンを作成していない場合は、regions > List Regions などの誰でも実行できる Linode のリージョン情報の取得を試みるとよいと思います。

Linode > instances > List Linodes

list-linode.jpg

Authorization の設定

Authorization の設定は親から引き継ぐので、Inherit auth from p... (p はおそらく Parent の P だと思います)を選択します。一番上の階層でトークンの設定をしていますので、その間の中間の親に対しても同様に Inherit の設定をしておく必要があります。設定を Save しておかないと反映されずに、あれっと思うこともありますので、設定の保存をするように気をつけてください。
linode-list-linode-auth.jpg

Send を押してリクエストを送信

API エンドポイントに対して、リクエストを送ります。{{baseUrl}} は親の Variables (変数)ですでに https://api.linode.com/v4 などと設定されています。
linode-api-list-linode-send.jpg

次のように JSON ファイルが見えたら成功です。
postman-list-linode-response.jpg

本例では GET メソッドを使っていますが、Postman は Post メソッドなどの扱いも簡単にできるのが便利です。

グローバル変数を使ってトークンの扱いをセキュアにする

トークンの扱いは常に注意するべきです。上記の設定ではトークンの文字列が容易にディスプレイに表示されてしまいますので、Postman のグローバル環境変数を使ってよりセキュアに表示します。
postman-list-linode-auth-header.jpg

Postman には環境変数の概念があり、いくつかのスコープで変数が設定できます。変数のタイプで、Secret タイプを設定できます。グローバル環境変数を使うと、下図のように Collections とは別に管理することができます。
postman-environment.jpg

Linode Environment という名前の Global 環境変数を作成し、その中で linode_access_token という名前で Variable (変数)を作成します。 Initial Value には Linode Portal から取得した API Token の文字列が入っていますが、Type を default から secret にすることで トークンの文字列がマスクされます。
postman-global-env-secret.jpg

文字列を表示させるためには、目に斜め線が入ったアイコンをクリックするというひと手間が増えます。
Screen Shot 2022-10-12 at 7.14.59 PM.jpg

コレクションを共有してもグローバル環境変数の値は共有はされないと思っていたのですが、コレクションの Export/Import では変数の文字列がインポート先に表示されるようですので、Export したファイルの共有は注意が必要です。

コレクションの Authorization でグローバル変数をセットする

先程までは Access Token にトークンの生の文字列を入れていましたが、グローバル変数に変えます。{{linode_access_token}} のように設定した変数を {{}} で囲みます。
postman-collection-parent-auth-globalenv.jpg

Global 環境変数の選択

Postman UI の右上に環境変数を選択するドロップダウンリストがあります。Global 環境変数を作成すると選択できるようになります。
postman-select-globalenv.jpg

マウスをグローバル変数の上にもってくると変数がポップアップします。secret として定義された変数は目のアイコンをクリックすることで文字列が表示できます。
postman-collection-parent-auth-globalenv-hover.jpg

グローバル変数の使って API をコールする

先程までは Authorization ヘッダーの文字列が常に表示されている状態でしたが、今は {{linode_access_token}} という文字列が見えて、ポップアップしてから目のアイコンをクリックしないとトークンの文字列が見えないようになりました。
Screen Shot 2022-10-12 at 7.25.02 PM.jpg

実際にはリクエストを実行したあと、文字列がそのまま表示されてしまうようですが、グローバル環境変数を切り替えると直後にまたリセットされます。
postman-after-send-token-expression2.jpg

まとめ

Postman を利用すると Linode API の動作を容易に学べます。

関連記事

アカマイ・テクノロジーズ合同会社が管理している Qiita ページでは Linode など開発者向けの記事を記載しております。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?