クローズドAPI
APIだよ
外部に公開されていないやつだよ
そのシステムの関係者だけが使えるよ
簡単に書くよ
クローズドAPI(読:クローズドエーピーアイ 英:closed API)とは
「API」と呼ばれている「プログラムや機能に対する お仕事依頼用の窓口(を使うための決まり事)」の分類のひとつ
であり
そのシステムの関係者しか使えない(ことになっている)非公開なAPIのこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「API」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
APIは「プログラムや機能に対するお仕事依頼用の窓口(を使うための説明書)」です。
全然無関係なプログラムとかからその機能を利用できるように用意された窓口です。
例えば……と説明し始めるとクソ長くなるので止めておきます。
興味がある方は、用語「API」の説明を ご覧ください。
とりあえず今回の話でポイントとなるのは
APIを用意すると、そのシステムの機能を他のプログラムから使えるようになる
です。
最低限、そこだけ押さえておいてください。
以上を踏まえて、本題に入ります。
APIは大きく2つに分類できます。
1.そのシステムの関係者だけが使えるようにコッソリ用意されている非公開なAPI
2.そのシステムと無関係な人でも使えるように、外部に公開されているAPI
の2つです。
この2つのうち
1.そのシステムの関係者だけが使えるようにコッソリ用意されている非公開なAPI
が「クローズドAPI」です。
「非公開API」と表現されることも あります。
あと、ついでなので書いておくと
2.そのシステムと無関係な人でも使えるように、外部に公開されているAPI
は「オープンAPI(公開API)」と呼ばれたりします。
例えば、そうですね。
ピヨ太君が「ケーキ配達サービス」を始めました。
注文はインターネットから専用のシステム(ケーキ配達システム)で受けます。
ケーキの個数と住所を入力すると、入力された住所にケーキをお届けしてくれます。
ある日、ピヨ子さんから「そのシステムを私も使いたいわ」と相談されました。
どうやらピヨ子さんは「自宅でカフェ気分サービス」を始めたいようです。
自宅でカフェ気分サービスでは、注文をインターネットから専用のシステム(自宅でカフェ気分システム)で受けます。
住所を入力すると、入力された住所にケーキとコーヒーをお届けしてくれます。
ピヨ子さん自身はコーヒーだけお届けし、ケーキはピヨ太君のケーキ配達サービスから届けたいと考えたようです。
ピヨ子さんの頼みじゃ断れませんね。
ピヨ太君はケーキ配達システムのAPIを用意しました。
このAPIを使うことで、他のシステムからケーキ配達システムを利用できます。
具体的には、API経由でケーキの個数と住所を渡すことで、その住所にケーキをお届けしてくれます。
ピヨ子さんの「自宅でカフェ気分システム」からピヨ太君の「ケーキ配達システム」のAPIを呼び出すようにすることで、ピヨ子さんのやりたいことができるようになりました。
めでたし、めでたし。
……ですが、話は、もう少し続きます。
ピヨ太君は思いました。
「せっかく作ったAPIだから、みんなに使ってもらいたいな」と。
現状、ケーキ配達システムのAPIはピヨ子さんしか使えません。
いわゆる非公開な状態です。
ピヨ太君は、このAPIをインターネット経由で外部から使えるように改造し、公開しました。
「みんな使っていいよー」にしたのです。
勝手なことをしたピヨ太君はピヨ子さんからメッチャ怒られました。
ピヨ子さんのビジネスを真似する人が出てくるかもしれないからです。
めでたし、めでたし?
この話において、外部に公開する前のピヨ子さんしか使えなかった状態のAPIがクローズドAPIです。
誰でも使えるように外部に公開した後のAPIがオープンAPIになります。
気が向いたら、併せて覚えてあげてください。
クローズドAPI:外部に公開されていないAPI
オープンAPI:外部に公開されているAPI
です。
一言でまとめるよ
まぁ「クローズドAPI」って単語が出てきたら「外部に公開されていないAPI
(プログラムや機能に対する お仕事依頼用の窓口(を使うための決まり事))なんだな~」と お考えください。
おまけ
■訳してみるよ
「closed(クローズド)」の意味は「閉じた」とか「閉まっている」とかです。
「API」は「Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の略です。
「application(アプリケーション)」の意味は「申請」とか「適用」とか「応用」とかです。
ただし、今回は多分「application software(アプリケーション・ソフトウェア)」の略です。
よく分からない人は単純に「ソフト」と解釈してください。
「programming(プログラミング)」はカタカナで「プログラミング」でイメージできますかね。
「interface(インターフェース)」の意味は「接点」とか「境界面」とか「接触面」とかです。
何となく くっつけると
(一部の人に)閉じた「ソフトをプログラミングするための接点」
となります。






