API KeyとOAuthって何が違うの?

API KeyとOAuthって何が違うのでしょうか。
どちらもWebのAPIを叩く時に使うイメージがあります。

Tumblrから特定のタグのついた写真をDLするためにURLのリストを取得するにはAPI Keyを使いました。
ZaimのAPIを叩いて自分の家計簿にデータを入れたりするにはOAuthを使いました。

気になったので少し調べてみました。

API Key

開発用や、個人で使うにはこれが一番手軽で使い勝手が良さそうです。
API KeyがあればそれだけでWebのサービスにアクセスできるので使い勝手が良いです。
サービスの中を検索するとか、ユーザーデータに関わらないようなアクセスを行うにはこちらが使いやすくて良さそうです。
Pythonで使うにも、パラメーターに入れるだけで良いのでお手軽に使えます。

OAuth

クライアントアプリからユーザーデータを扱う時には通常OAuthを使います。
これを使えば、Userがそのアプリに対してデータへのアクセスを許可するのか選択する事ができます。
Pythonなどから自分用に使うには、request_tokenとかconsumer_keyとかaccess_tokenとか色々必要なので面倒です。
ZaimのAPIを叩きたかった時には、色々事前準備をしてアクセスできるようになりました。

まとめ

  • API Keyは開発者用(お手軽に使える)
  • OAuthはユーザーデータにアクセスする時に使う(使うのはちょっと面倒)

参考URL

Stackoverflow
API Keys vs OAuth Tokens vs JSON Web Tokens

0 件のコメント :

コメントを投稿