非公開API
APIだよ
外部に公開されていないやつだよ
そのシステムの関係者だけが使えるよ
簡単に書くよ
非公開API(読:ヒコウカイエーピーアイ 英:closed API)とは
「クローズド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
(プログラムや機能に対する お仕事依頼用の窓口(を使うための決まり事))なんだな~」と お考えください。
おまけ
■訳してみるよ
「非公開」は日本語ですね。
「API」は「Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の略です。
「application(アプリケーション)」の意味は「申請」とか「適用」とか「応用」とかです。
ただし、今回は多分「application software(アプリケーション・ソフトウェア)」の略です。
よく分からない人は単純に「ソフト」と解釈してください。
「programming(プログラミング)」はカタカナで「プログラミング」でイメージできますかね。
「interface(インターフェース)」の意味は「接点」とか「境界面」とか「接触面」とかです。
何となく くっつけると
非公開な「ソフトをプログラミングするための接点」
となります。





