みなさん、おはようございます!タカハシ(@ntakahashi0505)です。
こちらの記事は、タカハシが音声メディアVoicyの「スキルアップラジオ」にて放送した内容から、ピックアップしてお届けします!
今回のテーマは、今さら聞いてもいいIT用語 #17: 「API」です。
なお、以下で実際にお聴きいただくこともできます!
では、よろしくお願いいたします!
APIについてお話しします
今日は、今さら聞いてもいいIT用語シリーズ第17回をお送りしていきます。
このシリーズは、今さら人には聞けない、でも知っておいた方が良い気がする、そんなIT用語をこっそり学べるシリーズとなっています。
今日紹介するIT用語は「API」です。
APIという単語、見かけたことありますかね。
去年はChatGPTのニュースがバンバン出ていたと思います。時々、その記事の中でOpenAI APIという単語が登場していたんですが、みなさん見覚えありますかね。
ニュースとしては、「ChatGPTでこんな新たな機能が使えるようになりました」とか、「モデルが強力になりました」とかの後、「一方で、開発者向けではOpenAI APIの機能としてこれこれが」とか、「これこれが提供されるようになりますみ」たいな、そんな流れで紹介されることが多かったんです。
APIとは~OpenAI APIの例
開発者向けの機能ということなので、非ITのみなさんはあんまり注目しないみたいな感じになっていたかと思うんですが、このAPI、我々の世の中には結構影響のある重要な役割を果たしているんです。
というのも、ChatGPT以外の場所でChatGPTと同じようなAIが使えるようになる、画期的な仕組みを提供するのがAPIなんです。
なので、非ITのみなさんにもぜひ知っていただきたい仕組みなんです。
APIとは「Application Programming Interface」の略で、一言で言えば、「アプリケーションを外部からプログラミングして操作できる窓口の仕組み」のことです。
たとえば、OpenAI APIであれば、プログラミングをして、窓口となっているOpenAI APIにこれこれやってくださいとお伝えすると、その窓口を通してChatGPTのAIモデルであるGPT4に命令をすることができるということなんです。
そして、そのGPT4がたとえばテキストなどを生成してくれますので、そのOpenAI API窓口を通してそれを受け取ることができるという仕組みになっています。
様々なところにあるAPI
そして、このAPIなんですが、OpenAI API以外にもいろんなアプリケーションで用意されています。
たとえば、我々の身近なツールで言うとLINEがありますね。それから、お仕事でよく使われるChatツールであるSlackやChatworkにもAPIが提供されています。
さらに、kintoneやfreeeなどのサービスにも提供されていますし、高機能クラウドメモツールNotionでもAPI提供されていますね。
なので、プログラミングさえできれば、これらのサービスにアクセスして操作自動化することができるということなんです。
ノンプログラマーでもAPIは扱える
いやいや、どうせプログラミングしなきゃいけないのであれば、我々非IT人材には関係がない、そういう風に思われる方多いかなと思うんですが、決してそうとも言い切れないんです。
たとえば、ノンプログラマーのみなさんがよく使う言語、Googleが開発しているGoogle Apps Scriptというプログラミング言語があります。
通称GASなんて言いますが、このプログラミング言語は、APIを扱うのをとても得意としているんです。
なので、非ITだったとしてもGASさえ覚えてしまえば割と簡単にAPIを使いこなすことができます。
たとえば、先ほど登場したOpenAI APIです。
我々がGPT4に依頼して文書を生成する時にはChatGPTを使うというのが一般的なんですが、GASとOpenAI APIを組み合わせることで、スプレットシートから直接GPT4に問い合わせてテキストを生成してもらうみたいなことができます。
あと、メッセージ系のアプリケーションで言うと、このAPIとの相性ものすごくいいです。
僕が愛用して使っているのに、ゴミ出しLINEボットというのがあります。これは、毎朝6時にその日が何のゴミの日かというのをLINEの通知で教えてくれるというものです。
プログラム自体はGoogle Apps Script、GASで書いてまして、LINEのAPIを窓口としてLINEに通知を送っているという仕組みになりますね。
お仕事ではやはり、SlackとかChatworkなどの職場で使っているチャットツールの活用事例は山ほどありますね。
たとえば、管理部門のみなさんだと、従業員のみなさんから書類を集めないといけない。それをスプレットシートで管理しているんだが、まだ受け取ってない人にリマインドを送りたい。
そういった時に、スプレットシートのリストの情報を基にSlackとかChatworkでリマインドメッセージを送ってプッシュするみたいなことができたりします。
URLを使ったAPIの仕組み
さて、そんな便利なAPIなんですが、どんな仕組みで動いているのかというのも簡単にお伝えしておきます。実は、みなさんが普段やっているある行動と同じ仕組みを使っていたりするんです。
何かというと、URLを使っています。
たとえば、みなさんがあるWebページを見たい時、ブラウザのアドレス欄にURLを入力しますよね。そして、Enterキーを押すとそのWebページが開く、こんな仕組みになっています。
これ、裏で何がやられているかというと、URLを入力して送ると、このWebページのデータをくださいなと、そのWebページのデータを持っているWebサーバーに問い合わせを投げるんです。
この投げた問い合わせのことをリクエストと言います。なのでこれを、「リクエストを投げる」なんています。
リクエストを受け取ったWebサーバーは、お返事として、はいどうぞとWebページのデータを返してくれるわけです。
この返してくれたWebページのデータをレスポンスと言います。
そのレスポンスの中に含まれているWebページのデータを表示するとのがブラウザの機能となっています。
アプリケーションの窓口であるAPIに対して依頼をするときもURLを使うんです。お願いしたい内容に応じてURLが用意されています。
そのURLにリクエストすると、そのWebサーバーがそれを受けて、そういう依頼でしたらこのお返事をどうぞということで処理した上でレスポンスを返してくれるわけです。
APIにリクエスト送る、そのレスポンスを受け取る、これをプログラミングで実現しているわけですが、それは我々が日々ブラウザを使ってやっていることと同じということなんです。
APIを叩いてみよう
ちなみに、APIにリクエストを送ることを「APIを叩く」なんて言いますね。ちょっとみなさんにもAPIを叩く体験をしてもらいたいと思います。
ブラウザがAPIのリクエストと同じことやっていますので、APIによってはブラウザでも同じことができるんです。
とてもシンプルなAPIとして「郵便番号API」というのがあります。リクエスト用のURLが用意されています。
このURL「https://zipcloud.ibsnet.co.jp/api/search?zipcode=1000001」の最後の部分に7桁の数字「1000001」がありますが、これはジップコード、つまり郵便番号です。
郵便番号ハイフンなしの7桁の数字を指定して送ると、レスポンス、お返事をくれます。
試しに適当な郵便番号7桁を入力して、みなさんお使いのブラウザのアドレス欄に入力してみてください。スマホのブラウザでも大丈夫です。
すると、真っ白なページが開いて、波かっことかコロンなどで組み合わされたデータが表示されます。
よく見てみると、address1のところに都道府県名、address2のところに市町村名、そしてaddress3のところにより詳細な地名が書かれていたりします。
つまり、このURLは郵便番号から住所を返してもらう、そういった役割を持つものだったということになります。
ブラウザの力を借りていますが、みなさんはこれでAPIを叩けたということになりますね。
まとめ
ということで、今日はVoicy「スキルアップラジオ」の放送から「今さら聞いてもいいIT用語 #17: 「API」」をお届けしました。
非ITの人たちからすると結構遠い存在に見えるんですが、実はあちこちで活用されている、そして身近な技術ということを知っていただければ嬉しく思います。
タカハシのVoicyの放送はこちらからお聴きいただけます。
チャンネルのフォロー、コメント、SNSでのシェアなどなど、楽しみにお待ちしております。
では、また。