API
>「API」とは、「Application Programming Interface」の頭文字です。
英文字だけで意味を理解しようとすると、アプリケーション・プログラミング・インターフェイスで、大雑把に言うと「アプリケーションをプログラミングするためのインターフェース」という意味です。
インターフェイスとは、コンピュータ用語でいうと、「何か」と「何か」をつなぐものという意味を持ちます。例えば、USBも「パソコン」と「周辺機器」をつなぐものですので、インターフェイスの一つです。
つまり、APIとは、この「何か」と「何か」が「アプリケーション、ソフトウェア」と「プラグラム」をつなぐもの、という意味になります。
>APIとはソフトウェアやアプリケーションなどの一部を外部に向けて公開することにより、第三者が開発したソフトウェアと機能を共有できるようにしてくれるものです。USBは外部デバイスとパソコンを繋ぐインターフェースですが、APIはソフトウェア同士を繋げます。
>つまり、異なるソフトウェアやサービス間で認証機能を共有したり、チャット機能を共有したり、片方から数値データを取り込み、別のプログラムでそのデータを解析したりできるようになります。
参考
>また、前述の通り、FacebookやTwitterなどのSNSが提供するAPIを利用すれば、SNS同士で記事を共有することができ、1つのSNSに記事投稿をしても、他のSNSにも同時投稿が可能になったりします。また、TogetterやNaverまとめなどのサービスもSNSと連携することで、サービスの利便性、そしてサービスの価値そのものを高めています。
Google Calendar APIは、Googleが提供しているGoogleカレンダーの各機能が使えるAPIです。お店の営業時間に使ったり、社内の会議の時間を共有したりすることで、無料で情報共有を不特定多数の人と可能にしてくれる優れものです。
>WEBAPIを使うときに、
APIキー(アクセスキー)
APIシークレットキー
といったものが登場したときには、利用の注意が必要です。めちゃくちゃ簡単に言うと、APIキーはログインの際のID名にあたる部分、APIシークレットはパスワードのようなものだと考えてもらえばわかりやすいかと思います。
これらの情報が悪意のある第三者に漏洩してしまった場合、データを勝手に書きかえられたり、個人情報やその他の機密情報を読み取られてしまう可能性があります。特に、金銭のやりとりが発生する場合は、勝手に送金や出金をされてしまう場合もあります。
ですので、
・APIキー・APIシークレットは部外者には絶対に教えない。
・権限を選択する際に、出金権限・送金権限を付与しない。
・他のサービスと同じキー・シークレットの組み合わせは使わない。
あたりは必ず守っておきましょう。
何かと何かをつなげる規格みたいのがインターフェースで。人様のつくった何か(プログラムやアプリやもろもろ)と、自分のプログラムをつなぐ(または取り入れるなど)のがAPIみたいなものかな。
googleの場合、デベロッパーとしてgoogleからAPIキーというのをもらうと(無料らしい)、
私たちも使えるようになるらしい。
グーグルマップを自分のプログラムに取り入れてマップ以外の使い方をするとか。
(グーグルマップの利用はどのくらいのビューがあったかで、よっぽどあると有料らしい)
こんな。
APIは有料無料のものがあるので最初に確認。
バージョンがちょいちょい変わるから、気づいたらある日表示されないということもありうる。
サービス終了しちゃうこともありうる。
そういうリスクはあるよという。
図書館検索カーリルとか郵便番号検索とか
リクエストとレスポンスが対になっている
自分のサイト >> ボタンを押す >> 郵便番号のデータください(リクエスト) >>郵便番号検索の方からデータが返る(レスポンス)>>表示
「非同期通信」というのを使う
ボタンを使わなくても入力をして次の欄に移った瞬間にということもできる。
入力ページはそのままで(非同期/書き換えない/次のページに行かない)、返ってきた情報をはめこんでそのまま同じページに表示する。これが非同期通信。
↑
↓
ページが移行。(同期通信)