プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • API
  • 【API】Web APIの種類や歴史、WebHookについて
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【API】Web APIの種類や歴史、WebHookについて

04.18

  • miyabisan2
  • コメントを書く

この記事は3分で読めます

Web APIの種類

公開されるAPI(Open API)

AmazonやTwitterなど外部連携するためのAPI。アメリカでは普及していますが、日本ではAPIを公開するという風潮は本格化はしていません。

公開されないAPI(Closed API)

クライアントサーバ間でやり取りするAPIなど

Web APIのデータ種類

XML over HTTP

XMLよりはJSONを使うように置き換わってきている。

SOAP

複雑な手順のリモートプロシージャコールになっていてWeb業界ではあまり使われない。REST APIと違ってメソッド(操作)単位で作成します。(例えば、「登録」という処理であれば、それに対してどのリソースに対して登録するかを別途指定します。)レスポンスはXMLになっており記述ルールが存在します。

XML-RPC

JSON over HTTP

REST API

リソース単位で作成します。(例えば、ユーザー情報や、商品情報など)一つのリソースに対して登録、取得、更新、削除と作っていきます。レスポンスはXML or JSONになっており記述ルールは特にありません。

歴史

世の中で流行ったAPIの流れです。

年度API名説明
2003年AmazonのProduct Advertising API世界中に大きなインパクトを与えたAPI。Amazonのアフィリエイトと結びついており誰でも簡単に自分のサイトからAmazonの商品を販売できるようになった。
2006年Twitter APITwitterはAPIを世の中に公開して、様々なアプリケーションから操作させることによって、どんどん情報が集まり発展していった。APIを通じて成功を収めた。
2013年IntelがMasheryを買収IntelがAPI管理サービスのMasheryを買収したことが話題になった。

Twitterのサービス例

  • Twitterに投稿されたデータを使って分析を行うサービス
  • botと呼ばれる機械的に生成したメッセージを投稿するサービス

Twilioのサービス例

  • 電話の自動応答(laaS)
  • SMS送信(laaS)
  • モバイルアプリケーションに必要なプッシュ通知(BaaS)
  • データ保存(BaaS)
  • データベースなどのストレージ機能のみ提供する(DaaS)

Pocket

  • 「あとで読む」ことを前提としてURIをためておくブックマークサービス
  • ウェブ上の様々なサービスがPocketに対応していて今閲覧しているウェブページを保存できる。

MasheryなどのAPI管理サービス

APIのセッション管理やアクセス制御の分析、ユーザー向けのダッシュボードやドキュメント公開など様々な面倒を見てくれます。

ProgrammableWeb

APIディレクトリサービス、世の中に一般的に公開されているAPIを集めてその情報を公開している。

ウィジェット(サードパーティJavaScript)

他のページに貼り付ける目的で提供されていて、バックエンドのAPIにアクセスしてデータを送受信している。

注意点

  • クライアント側のコードは誰でも簡単に読むことが可能なのでなりすましは不正アクセスが容易
  • 他のページからAPIへのアクセスを行わせるtめ、クロスドメインでのアクセスサポートを行う必要がある。

WebHookについて

GitHubの機能というよりは一般的な機能

WebhookとAPIとの違い

APIが応答を取得するために要求を送信する必要があるのに対し、Webhookは応答を取得するために要求を与える必要がないこと

例

GitHub WebHook

GitHubが自動で更新されるたびに通知先URLに自動で通知がいく。

GitHub API

情報が必要となるたびにGETリクエストを送る。

GitHub

Settings→WebHooksで設定ができる。指定したURLに対してプッシュなど特定のアクションが発生したタイミングなどに送ってくれる。

PyLoad URL

外部サービスのURLなどを指定します。(例えば、「zapier」や「deply bot」など)

zapier

さまざまなサービス連携の仲介をすることができるサービス

利用例

GitHub上にissueが投稿されたタイミングでslackに通知してくれるようにする。

あるところまで行くと有料。月2000円。

Microsoft Flow

zapierでもできるが、これでも同じことができる。

Deploy bot

GitHubにコードをプッシュするだけでAWSなどに自動デプロイしてくれるサービス

スポンサーリンク
  • 2021 04.18
  • miyabisan2
  • コメントを書く
  • API
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2021 04.18

    【API】設計手順

  2. 2021 04.18

    【API】返すJSONデータの中身について

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Javascript】「html2canvas」、「…

【API】設計手順

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー