corsservice メインページ
当サイトの目的
各種ネタデータをJSON形式で配信します。
各サービスはオリジン間リソース共有 (CORS)(クロスドメインリクエストという言い方をする方もおられます)に対応していますので、サーバ・クライアントを問わず、どなたでも配信データを気軽に活用していただけることを目指します。
データの取得方法
すべてのAPIはGETまたはPOSTメソッドでデータを取得できます。
CORSでのご利用の場合は、俗にいう単純リクエストでご取得いただけます。
特に断りがない場合はプリフライトリクエストはご利用いただけません。
データの配信方法
各サービス中のAPIは特に断りがない場合はすべてJSON形式で配信されます。
各プロパティの型は特に断りがない場合は事故がないようにすべてstringです。
供給中のサービスの一覧
-
四字熟語ランダム配信サービス
概要: JSON形式で8000弱の四字熟語集から1つ、ランダムに1つ取得できます。
APIのURL: https://corsservice.appspot.com/yojijukugo/api/
-
サービス利用例デモンストレーション
javascriptのAjaxを用いて受信したデータを整形しするサンプルです。
-
APIへのリンク
どのようなJSONデータを受信できるかを直接見られます。
-
配信されるJSONのプロパティとメンバーのペア:
- yomi: 四字熟語の一般的な読み
- jukugo: 四字熟語
-
青空文庫で公開中の作品名のランダム配信サービス
概要: 読みたい本が特に思い浮かばない時に、その場で読める本を適当に選んでくれます。
APIのURL: https://corsservice.appspot.com/aozora_bunko_book_chooser/api/
-
サービスを利用したデモンストレーション
-
使用しているAPIへのリンク
-
配信されるJSONのプロパティとメンバーのペア:
- title: 作品名
- subtitle: 副題
- author: 著者名
- card_url: 青空文庫サイト上での当作品の図書カードのURL
- text_url: 同xhtmlファイルのURL
- char_count: 同xhtmlのタグ、改行、空白を除いた文字数(文字コード考慮済)
- time_to_read: おおよその読了までの時間(400文字/分換算)
- error: エラー内容。エラー時のみ。
-
APIに指定可能値なパラメータ:
- readingtime
設定できる検索条件: 読書時間範囲。
以下すべてのパラメータは設定する際はPOSTまたはGETする際にform形式(クエリストリング)でreadingtimeというパラメタに0~6の値を設定してください。
(GETの場合では https://.../api/?readingtime=6 といったように)
パラメタが未指定の場合は指定なしと同じ動作になります。
範囲外または不正な値を設定した場合は指定なしと同じ動作となりますが、errorプロパティも同時に配信されます。
設定可能値
- 0: 指定なし。全件から抽選されます。
- 1: 10分未満。
- 2: 小一時間。
- 3: ちょい長め。(私的基準であり根拠なし)
- 4: 短編。(私的基準であり根拠なし)
- 5: 長編。(私的基準であり根拠なし)
- 6: 巨編。(私的基準であり根拠なし)
※このデータは事前に集計しているので O(1) で動作しますが、このデータ以外はリスエスト毎に集計します(最低でも O(n)) 。
- genre
設定できる検索条件: 分類番号。前方一致。
複数指定する場合はカンマで区切ってください。
設定可能値
- 数字。カンマ区切り。(genre=91,10,801,932 など)
- childrens_books
設定できる検索条件: 児童書を対象にするか否か。
排他指定です。
設定可能値
- dontcare: 児童書以外も含める。
- ignore: 児童書を除外する。
- only: 児童書のみを含める。
- kyuuji
設定できる検索条件: 旧字を対象にするか否か。
排他指定です。
設定可能値
- dontcare: 旧字以外も含める。
- ignore: 旧字を除外する。
- only: 旧字のみを含める。
- kyuukana
設定できる検索条件: 旧かなを対象にするか否か。
排他指定です。
設定可能値
- dontcare: 旧かな以外も含める。
- ignore: 旧かなを除外する。
- only: 旧かなのみを含める。
-
listmode
条件に合致した作品のリストをすべて取得するか否か。(2019/7/12追加)
設定可能値
- true: 条件に合致した作品のリストをすべて取得する。
細かな違いはありますが、概ね前項にてご説明したデータ形式を配列として取得できます。
-
search_author_name
設定できる検索条件: 著者名。(2019/8/27追加)
設定可能値
- UTF-8で表現された著者名を特定して検索します。
正規表現(perl互換)をご利用いただけます。
なお、姓と名の間には空白がありますのでご注意ください。
-
なお、予めGitHubで公開されているデータを集計した上で配信しています。
GitHubへの負担を考慮し、配信元データの更新は数か月程度の間隔で行います。
青空文庫をはじめ、関係する皆さんに感謝いたします。
CORSSERVICE ご利用規約および免責事項
-
本サービスは暇つぶしに使えそうなデータをGoogle App Engineの無料枠でも
割と使い物になりそうなデータを配信する試みを行うサービスです。
-
本サービスは原則としてどなたでもご自由にご利用いただけます。
-
但し、本規約、Google App Engineの利用規約、法令、条例、政令等の法規に反する目的・手段・方法ではご利用いただけません。
また、法令に反しなくても、他人の権利を侵害したり、誹謗に利用したり、中傷に利用したりなどの公序良俗に反する目的・手段・方法での利用についてもご利用いただけません。
-
まずありえないとは思いますが、アクセス回数があまりに多いと当サービスは最大1日程度、自動停止します。
その際はHTTPレスポンスコード503をゲットできますのでご堪能ください。
-
本サービスは予告なく改変または停止または廃止されることがあります。
-
本サービスはあるがままのサービスを提供するものとします。 サービスの更新等の責を負うものではありません。
-
事由の如何を問わず、本サービスを利用することにより生じた利用者又は第三者の損害については、 利用者がその全ての責任を負うものとし、本サービスの提供者は一切の責任を負いません。
-
本項は、予告なしに内容を変更する場合があります。
平成31年4月18日 初版
プライバシーポリシー
本サービス自体は何の記録も残していませんし、そもそも個人情報が識別できそうなたぐいのものは一切収集しておりません。
が、お世話になっている方に向かって言うのもなんですが、本サービスはGoogle App Engineを利用しており、従ってGoogleが何を記録しているか否かは本サービスの提供者の知るところではありません。
Google Don't Be Evil.
平成31年4月18日 初版