見出し画像

APIを使っていこう

JNUC2023でJamf APIの使い方みたいなセッションを受けてきました。
いやまぁ私はもうがっつり使わせてもらってるんですが何か新たしい情報ないかなーと。

で、登壇者が最初に聞くんですよ。「この中でJamf API使ったことある人ー。」っつって。
パラパラと手が上がるのを見て登壇者が「お前らなんでこのセッション参加した?」って言ってて。もうこの時点でちょっと面白かったんですが、唐突に後ろのおじさんが「more information!!」って叫ぶもんだからみんな同じかい!って心のなかでツッコミ入れてました。楽しいセッションでした。
内容の英語は3割もわかりませんでしたが、大体言うことは予想できるのでついていくこと自体はそこまで苦ではなかったですね。

で、内容自体はまっっったくもってふつーのAPIの初心者講座だったのですが、まぁたしかにこういう基本的な話も大事だよなと思ったので煎じておこうと思います。

あ、この記事で言うAPIは基本的にREST APIです。


APIとは

API(Application Programming Interface)とは、ソフトウェアやプログラム、Webサービスをつなぐインターフェースのことです。APIは、アプリケーションをプログラミングするためのインターフェースとも言えます。

Googleの検索画面にある生成AIより

普段我々が画面からボタンポチーして機能を使うところを、アプリケーションに同じことをさせたい場合、APIを呼ぶことで実現することが出来ます。

APIを使うメリット

APIのメリットは、アプリケーション機能を拡張させ、双方のアプリが更に便利になることです。APIを使って他のアプリケーションに接続することで、あたかも同じシステム内にあるかのようにその機能を利用できるようになります。

Googleの検索画面にある生成AIより

例えば今までは複数のアプリケーション間でデータを受け渡しする際に、転送だったり同期の機能がなかったら人がCSVファイルあたりをエクスポートしてインポートする、みたいな作業を行っていたかと思います。

しかしZapierなどのiPaaSを使うとエクスポートのAPIやインポートのAPIを呼び出すことで同じようなことが出来るようになるわけですね。
24時間365日休み無く正確に。

浮いた時間、人はよりクリエイティブなことに時間を割いたり、会社の課題を解決するためにリソースを使えるようになります。
基本的に「業務効率化」ってこういう事を言うと思ってます。

実際にAPIを呼んで見る

とまぁこの記事見てる人は釈迦に説法な話はこの辺にして、せっかくなのでJamfのAPIをターミナルから呼んでみようと思います。

Jamfの場合、Swagger UIが用意されているのでターミナルを使う必要はほぼない(マジでない)んですが、ここは初心者向けということで。
他のSaaSにはあんまり見ないですしねー。

PCの情報を取得する

まずはJamfに登録されているPCの情報を取得してみましょう。
Swagger UIを使う場合は https://<インスタンス名>.jamfcloud.com/api という感じでURLの末尾にapiとつけるとAPIのページに飛びます。

Classic APIを使ってPCの情報を取得しますが、まずは認証を通します。

Userとパスワードを入力してAuthrizeをクリック

成功したら「Authorized. Token successfully generated!」と表示されます。
これで準備はOK。

computersを選択したら「Try it out」をクリック
Executeします
200返ってきてれば成功です

で、これをターミナルで実施する場合は以下のコマンドになります。

/usr/bin/curl -sku "username:password" https://instance.jamfcloud.com/JSSResource/computers

同じ結果を貰えるんですが、Swagger UIのように見やすく改行されないので適当にコピペして体裁を整えるといいでしょう。

今回のはGETメソッドと言いますが、メソッドには

  • GET: サーバーから情報を取得する

  • POST: サーバーにデータを送信して新規リソースを作成する

  • PUT: サーバー上のリソースを完全に上書きする

  • DELETE: URIで指定したサーバ上のファイルを削除する

と様々な種類があり、上記辺りがポピュラーかなと思います。
是非APIを駆使して作業手順から人類を駆逐しましょう。
ミスをするのは人類。休みが必要なのも人類。
人類が介入しなければ業務はもっと正確に効率化出来るはずです。


APIの使用に抵抗がなくなるとグッとやれることが増えてくるので、あれもこれも自動化じゃ!ってなるかと思いますが、まずは一つずつ効率化を積み重ねて行って頂ければと思います。


この記事が気に入ったらサポートをしてみませんか?