#author("2017-05-12T12:02:26+00:00","default:admin","admin")
*カテゴリ別 [#p8d64230]
**医療系 [#b71bf9ce]
-[[SCUEL:http://scuel.me/project]]
-[[ソシオヘルスAPI:http://api.sociohealth.jp]]
#author("2023-01-20T02:25:08+00:00","default:admin","admin")
-[[基礎から分かるAPI管理:https://techtarget.itmedia.co.jp/tt/series/9626/]]

----
----
*プロトコル [#kaf556ef]
-[[REST、gRPC、および GraphQL を使い分ける (パート 1):https://www.xlsoft.com/jp/blog/blog/2022/05/25/post-29393/]]
-[[REST、gRPC、および GraphQL を使い分ける (パート 2):https://www.xlsoft.com/jp/blog/blog/2022/06/02/post-29512/]]

-[[天気予報API:http://tenkiapi.jp/]]
-[[gRPCとGraphQL:https://qiita.com/hitochan777/items/7ecc11e77fa89be009d3]]
-[[GraphQLとgRPCとRESTの長所と短所:https://morioh.com/p/5a36922b0c1d]]
-[[gRPCとGraphQLのマイクロサービスでの使われ方とBFFの技術選定について:https://qiita.com/shingo02/items/2beb5200e07b97c0e805]]
-[[APIを知ったかぶり→話せるに変えるための5分:https://note.com/kimken_acweb/n/ndec3fc43f27b]]

-[[ここが危ない!Web2.0のセキュリティ - 第6回 WebAPI,認証APIのセキュリティ:http://gihyo.jp/dev/serial/01/web20sec/0006]]
-[[WAFL みんなでつくる WEB-API &マッシュアップ情報サイト:http://wafl.net/]]
-[[ThinkIT - PerlでWeb APIを使いたおす:http://www.thinkit.co.jp/free/article/0609/8/1/]]
-[[GraphQL と gRPC で通信する Go 製のマイクロサービスをセットアップする:https://qiita.com/takano-h/items/702ec2aef53a8c756690]]

-[[@IT - 連載 ビジネスWebサービス最新事情:http://www.atmarkit.co.jp/fxml/tanpatsu/25websvc/01.html]]
**REST [#n6b80a33]
-[[Wikipedia - REST:http://ja.wikipedia.org/wiki/REST]]

* プロトコル [#kc899985]
-[[時代はRESTへ。SOAPの終わりを象徴する、Webサービス標準化団体のWS-Iが活動終了:http://www.publickey1.jp/blog/10/restsoapwebws-i.html]]
-[[ThinkIT - RESTなWebサービスの利用/開発:http://thinkit.jp/article/1097/1/]]
-[[CodeZine - Jersey、AJAX、JSONを使ってRESTに挑戦しよう:http://codezine.jp/article/detail/4596]]

** SOAP [#b1ce96eb]
**gRPC [#ye3d20c0]
-リモート プロシージャ コールの一般的な概念を進化させた gRPC では、クライアントはリモート コンピューター上のメソッドを、そのシステムがローカルであるかのように直接呼び出すことができます。
-gRPC はプロトコル バッファー (または Protobufs) を利用して、テキストベースの JSON や XML ではなく、バイナリにシリアル化されたデータでタイプセーフなデータ転送インターフェイスを定義します。
-HTTP/1 よりも信頼性が高く、高速で効率良い HTTP/2 を利用しています。

-gRPC はデータのシリアル化に Protobufs を使用することで、非常に軽量で高速な API を提供します。非常に軽量であるため、gRPC はクライアントの計算能力が限られている場合 (IoT など) によく使われます。このような場合、サーバーが負荷の高い処理を行います。
-gRPC の言語に依存しないインターフェイス コントラクトの定義は、異なる言語で記述されたサービス間に優れた通信方法を提供します。gRPC の学習曲線は、REST ほど浅くはないものの、十分に許容できるものです。
-gRPC は非常に効率的ですが、ブラウザーで十分にサポートされているわけではありません。また、サンドボックスで実験しながら学習するのは難しく、HTTP/2 の使い方も、経験の浅い API 開発者には馴染みのないものでしょう。

-gRPC はスマート デバイス間の通信の促進に広く使用されています。サイズ、限られた計算リソース、リアルタイム機能の必要性から、IoT デバイスの動作は gRPC のパフォーマンスに依存しています。
-gRPC は、デプロイメント パイプライン ツールやアプリケーション モニタリング システムにも適しています。

**SOAP [#m4441dae]

*** 各言語毎のツール [#s1b5cc81]
-PHP
--[[NuSOAP:http://sourceforge.net/projects/nusoap/]]
--[[Pear:http://pear.php.net/]]
-Java
--[[Apache Axis:http://ws.apache.org/axis/]]
--[[Apache WSS4J:http://ws.apache.org/wss4j/]]
-Python
--[[SOAPPy:http://pywebsvcs.sourceforge.net/]]
-Perl
--[[SOAP::Lite:http://www.soaplite.com/]]

** REST [#x3fab883]
-[[Wikipedia - REST:http://ja.wikipedia.org/wiki/REST]]

-[[ThinkIT - RESTなWebサービスの利用/開発:http://thinkit.jp/article/1097/1/]]
-[[CodeZine - Jersey、AJAX、JSONを使ってRESTに挑戦しよう:http://codezine.jp/article/detail/4596]]

* データフォーマット [#s34ecead]
** JSON [#t5636b19]

** JSONP [#a82f088a]
-[[JSONPを使ってJavaScriptだけでマッシュアップ:http://techblog.yahoo.co.jp/cat207/web_1/jsonpjavascript/]]
-[[JSONP によるクロスドメインの通信: 第 1 回 JSONP と jQuery を組み合わせ、強力なマッシュアップを迅速に作成する:http://www.ibm.com/developerworks/jp/web/library/wa-aj-jsonp1/]]
-[[入門 JSON 3 -- JSONP とコールバック関数:http://www.baldanders.info/spiegel/remark/archives/000222.shtml]]

-[[ここが危ない!Web2.0のセキュリティ - 第3回 JSONPでのクロスドメインアクセス:http://gihyo.jp/dev/serial/01/web20sec/0003]]
-[[教科書に載らないWebアプリケーションセキュリティ - 第4回[気になる]JSONPの守り方:http://www.atmarkit.co.jp/fcoding/articles/webapp/04/webapp04a.html]]

** XML [#g7e2c4b0]

** YAML [#vd414a5a]

** PHPserialize [#b1433059]
-[[PHP SERIALIZEのススメ:http://techblog.yahoo.co.jp/web/yahoo/post_1/]]

-Yahoo! のAPIで使用している
-[[ライブラリを利用することで、他の言語(C#, perl など)でも PHP serialize は読み込むことが可能:http://www.ecoop.net/memo/2006-07-14-1.html]]
-[[Yahoo曰く、XMLじゃなくてPHPの変数をそのままシリアライズして返せばいいじゃん:http://neta.ywcafe.net/000544.html]]

** Protocol Buffers [#g5aa7826]
-[[グーグル、XMLに代わるデータ交換ツール「Protocol Buffers」をオープンソース化:http://japan.cnet.com/news/media/story/0,2000056023,20376854,00.htm]]

* セキュリティ [#rafebb58]
** クロスサイトスクリプティング対策 [#vf122f66]

** クロスドメインアクセス対策 [#o0bd27d8]
-WebAPIを公開するドメインは,他のサービスとは別のドメインにする

** 機密情報の取り扱い [#v3672077]
-機密情報を提供する場合にはユーザ認証を行う ... Basic認証、Digest認証
-機密情報をJSON,JSONP形式のデータとして提供する場合には,SCRIPTタグから読み込まされた際にデータが漏洩しないよう注意
-機密情報を含んだデータをやりとりする場合には,WebAPIをHTTPSで提供

** 不正利用対策 [#d4f755ff]
-メールアドレス等をもとにユーザ登録を行い,WebAPIを利用するための認証キーを発行し,WebAPI利用の際には認証キーを必須にする
-認証キーは万全ではない

** 認証API [#qb70eeae]
-[[認証APIのセキュリティ:http://gihyo.jp/dev/serial/01/web20sec/0006?page=2]]

* 認証 [#p6cad26b]
-[[各種WebサービスのAPI認証方法を調べてみた:http://akisute.com/2009/10/webapi.html]]

** OpenID [#d8c1f588]
-[[wikipedia - OpenID:http://ja.wikipedia.org/wiki/OpenID]]
-[[@IT - OpenIDの仕様と技術:http://www.atmarkit.co.jp/fsecurity/index/index_openid.html]]

-[[openid.ne.jp:http://www.openid.ne.jp/]]

** OAuth [#qa7965fa]
-[[OAuthプロトコルの中身をざっくり解説してみるよ:http://d.hatena.ne.jp/yuroyoro/20100506/1273137673]]
-[[ゼロから学ぶOAuth:http://gihyo.jp/dev/feature/01/oauth]]
-[[APIアクセス権を委譲するプロトコル、OAuthを知る:http://www.atmarkit.co.jp/fsecurity/special/106oauth/oauth01.html]]

** Thrift [#g04df865]
-[[最強のメモツール Evernote の API を使ってみた:http://blog.lilyx.net/2008/11/03/evernote-api/]]

** WSSE [#h133ad5a]
-[[生パスワードを保存せずにWSSE認証するには?:http://mindia.jp/book/akkun/keyword/WSSE%e8%aa%8d%e8%a8%bc]]
-[[WSSE for JavaScript:http://rvr.typepad.com/wind/2005/07/wsse_for_javasc.html]]

** OASIS [#k241b141]
-[[OASIS Web Services Security Username Token Profile 1.0 specification:http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdf]]
-[[@IT - OASIS WS-SecurityとXKMSの構造を知る:http://www.atmarkit.co.jp/fxml/tanpatsu/25websvc/03.html]]

* APIの例 [#ob1bd5db]
** Amazon [#s96e3a60]
-[[Product Advertising API:https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html]]
--[[Product Advertising API 開発者向けガイド リクエストの署名認証について(参考訳):https://affiliate.amazon.co.jp/gp/associates/help/t126?ie=UTF8&pf_rd%5Ft=501&ref%5F=amb%5Flink%5F83884676%5F6&pf%5Frd%5Fm=AN1VRQENFRJN5&pf%5Frd%5Fp=&pf%5Frd%5Fs=assoc-center-1&pf%5Frd%5Fr=&pf%5Frd%5Fi=assoc-api-detail-4-v2]]
-[[Amazon Web サービス入門(Product Advertising API):http://www.ajaxtower.jp/ecs/]]

** Flicker API [#kec8e2bb]
-[[初心者のためのFlickrのAPI入門:http://webservice.kabufuru.net/flickr/sitemap.php]]

** Google [#u7504389]
-[[Google Code:http://code.google.com/intl/ja/]]
-[[AJAX APIs Playground:http://code.google.com/apis/ajax/playground/]]
--[[Google APIがブラウザーで試し放題!:http://ascii.jp/elem/000/000/212/212001/]]

-[[Google Maps API:http://code.google.com/intl/ja/apis/maps/]] [#e0f5b685]
--[[Google MAPS APIプログラミング:http://www.geekpage.jp/web/google-maps-api/]]

-Google AJAX Language API
-Google Chart API

** YouTube API [#r9c69d45]
** Twitter API [#q96149ab]


** Yahoo! [#s0a34511]
-[[Yahoo! デベロッパーネットワーク:http://developer.yahoo.co.jp/]]
--[[エラーメッセージおよびコード:http://developer.yahoo.co.jp/appendix/errors.html]]
--[[サンプルコード集:http://developer.yahoo.co.jp/sample/]]
--[[アプリケーション例:http://dir.yahoo.co.jp/computers_and_internet/programming_and_development/yahoo_developer_network/]]

-[[テキスト解析Web API:http://developer.yahoo.co.jp/webapi/jlp/]]

** Amazon Simple Storage Service [#ob45ea08]
** Amazon Simple DB [#rb70f5be]
** Amazon Elastic Compute Cloud [#n0e704e3]

** SiteCatalyst [#pfd8b3c1]
-[[SiteCatalyst Developer Center:https://developer.omniture.com/home]]
-認証:[[OASIS Web Services Security Username Token Profile 1.0 specification:http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdf]]

* 構築例 [#jae1bd42]
-[[30days Album を支える技術 #0 〜 サーバ構成概要:http://30d.jugem.jp/?eid=13]]
*カテゴリ別 [#p8d64230]
-[[天気予報API:http://tenkiapi.jp/]]

* テスト [#tfa9e544]
-[[Google Charts APIをインタラクティブにテストしたいなら『Live Chart Playground』:http://www.ideaxidea.com/archives/2010/06/live_chart_playground.html]]
-[[Google Maps API test:http://allunofficial.net/googlemapsapi/]]
-[[OpenSocial RESTful APIのテスト用のアプリケーションを書いた:http://d.hatena.ne.jp/perezvon/20100801/1280650477]]
-[[ここが危ない!Web2.0のセキュリティ - 第6回 WebAPI,認証APIのセキュリティ:http://gihyo.jp/dev/serial/01/web20sec/0006]]
-[[WAFL みんなでつくる WEB-API &マッシュアップ情報サイト:http://wafl.net/]]
-[[ThinkIT - PerlでWeb APIを使いたおす:http://www.thinkit.co.jp/free/article/0609/8/1/]]

-[[@IT - 連載 ビジネスWebサービス最新事情:http://www.atmarkit.co.jp/fxml/tanpatsu/25websvc/01.html]]

**医療系 [#b71bf9ce]
-[[SCUEL:http://scuel.me/project]]
-[[ソシオヘルスAPI:http://api.sociohealth.jp]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS