Web APIの使い方

提供するWeb APIのリクエスト方法について解説しています。


GETとは

GETとは、「リソース(情報)を取得する」ためのHTTPメソッドです。Webサイトをブラウザーで見るとき、内部ではGETによるリクエストが行われています。Web APIも情報を取得する性質のものが多いため、GETをよく使います。

POSTとは

POSTとは、「リソース(情報)を更新・作成する」ためのHTTPメソッドです。GETはパラメーターをURL中に含めていましたが、POSTはリクエストボディーにパラメーターを配置するため、パラメーターの長さに上限がないという特徴があります。

Yahoo!デベロッパーネットワークで提供するWeb APIには、POSTを使ってリクエストしてもGET相当の結果が返ってくるものがあります。これは長いパラメーターを受け付けるための仕様です。GETとPOSTを区別するかしないかはWeb APIごとに対応状況が異なりますので、各Web APIのドキュメントもご覧ください。

PUTとは

PUTとは、「リソース(情報)を更新・作成する」ためのHTTPメソッドです。POSTと似ていますが、「べき等(何度リクエストしても結果が同じ)」という性質があります。POSTでリソースを新規作成し、PUTで更新するWeb APIが典型的です。

Yahoo!デベロッパーネットワークで提供するWeb APIには、PUTによる更新をサポートしているものがあります。実際は、特定のユーザーに関する情報を更新するケースがほとんどですので、OAuthを使うことになるでしょう。

リクエストの構造はPOSTと同じです。

PATCHとは

PATCHとは、「リソース(情報)を部分的に更新する」ためのHTTPメソッドです。PUTと似ていますが、「べき等(何度リクエストしても結果が同じ)であるとは限らない」という性質があります。

Yahoo!デベロッパーネットワークで提供するWeb APIには、PATCHによる更新をサポートしているものがあります。実際は、特定のユーザーに関する情報を更新するケースがほとんどですので、OAuthを使うことになるでしょう。

リクエストの構造はPOSTやPUTと同じです。

DELETEとは

DELETEとは、「リソース(情報)を削除する」ためのHTTPメソッドです。

Yahoo!デベロッパーネットワークで提供するWeb APIには、DELETEによる削除をサポートしているものがあります。実際は、特定のユーザーに関する情報を削除するケースがほとんどですので、OAuthを使うことになるでしょう。

リクエストの構造はGETと同じです。

Client ID(アプリケーションID)について

Yahoo!デベロッパーネットワークで公開されているWeb APIを使う際には、Client IDが必要です。こちらでアプリケーションを登録することで、Client IDを発行できます。発行した時期によってはアプリケーションIDと表記される場合があります。

Client IDは以下のいずれかの方法でリクエストに付与してください。
Yahoo! ID連携に対応したWeb APIについては、Yahoo! ID連携のフローで取得したアクセストークンが必要です。
リクエスト方法の詳細はYahoo! ID連携のAPIアクセス実装方法をご覧ください。

User-Agent方式

User-Agentヘッダーの末尾に以下の形式で埋め込むことでClient IDを渡します。

User-Agent: <元のUser-Agent文字列>; Yahoo AppID: <あなたのClient ID>

User-Agentがもともと空の場合は、

User-Agent: Yahoo AppID: <あなたのClient ID> 

となります。

パラメーター方式

パラメーターとして後述のクエリーストリングに混ぜ込むことでClient IDを渡すこともできます。こちらの方が手軽で、ヘッダーを操作できない場合でも使うことができます。

appid=<あなたのClient ID>

アプリケーションの管理

利用のルール

開発のヒント