ルビ振り

漢字かな交じり文に、ひらがなとローマ字のふりがな(ルビ)を付けます。

リクエストURL

JSON
https://jlp.yahooapis.jp/FuriganaService/V2/furigana
※GETリクエストには対応していません。
※Client ID(アプリケーションID)をリクエストに付与する必要があります。詳細はサンプルコードをご覧ください。

リクエストパラメータ(POST)

JSON-RPC 2.0の仕様 に準拠しています。

パラメータ 説明
id(必須) string,integer JSON-RPC 2.0のid。値は任意で、指定した値がレスポンスのidにも返ります。
jsonrpc(必須) string 値は「2.0」としてください。
method(必須) string 値は「jlp.furiganaservice.furigana」としてください。
params(必須) object
params/q(必須) string ふりがなを付ける対象のテキストです。
params/grade(任意) integer 学年(注1)を指定します。
1: 小学1年生向け。漢字(注2)にふりがなを付けます。
2: 小学2年生向け。1年生で習う漢字にはふりがなを付けません。
3: 小学3年生向け。1~2年生で習う漢字にはふりがを付けません。
4: 小学4年生向け。1~3年生で習う漢字にはふりがなを付けません。
5: 小学5年生向け。1~4年生で習う漢字にはふりがなを付けません。
6: 小学6年生向け。1~5年生で習う漢字にはふりがなを付けません。
7: 中学生以上向け。小学校で習う漢字にはふりがなを付けません。
8: 一般向け。常用漢字にはふりがなを付けません。
無指定の場合、ひらがなを含むテキストにふりがなを付けます。

注1:学年は「小学校学習指導要領」の付録「学年別漢字配当表」(1989年3月15日文部科学省告示。1992年4月施行)を参考に設定されています。

注2:JIS X 0208が定める漢字

サンプルリクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.furiganaservice.furigana",
  "params": {
    "q": "漢字かな交じり文にふりがなを振ること。",
    "grade": 1
  }
}

サンプルコード

ルビ振りAPIを使用したサンプルコードです。

レスポンスフィールド

JSON-RPC 2.0の仕様 に準拠しています。

フィールド 説明
id string,integer リクエストのidの値が返ります。
jsonrpc string 固定で「"2.0"」が返ります。
result object ふりがなを付けた結果を含みます。
word array(object) 単語(注3)のリストを返します。
surface string 単語の表記を返します。
furigana string 単語のよみをひらがなで返します。
roman string 単語のよみをローマ字で返します。
subword array(object) 単語が漢字かな交じりのとき、その単語を、さらに細かく漢字部分とひらがな部分に分割した結果のリストを返します。
subword/surface string 単語の表記を返します。
subword/furigana string 単語のよみをひらがなで返します。
subword/roman string 単語のよみをローマ字で返します。

注3:単語は、このサービス独自の区切り方となり、形態素とは異なるものです。

サンプルレスポンス

以下は、q="漢字かな交じり文にふりがなを振ること。"のリクエストに対するレスポンスです。

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "result": {
    "word": [
      {
        "furigana": "かんじ",
        "roman": "kanzi",
        "surface": "漢字"
      },
      {
        "furigana": "かなまじり",
        "roman": "kanamaziri",
        "subword": [
          {
            "furigana": "かな",
            "roman": "kana",
            "surface": "かな"
          },
          {
            "furigana": "ま",
            "roman": "ma",
            "surface": "交"
          },
          {
            "furigana": "じり",
            "roman": "ziri",
            "surface": "じり"
          }
        ],
        "surface": "かな交じり"
      },
      {
        "furigana": "ぶん",
        "roman": "bun",
        "surface": "文"
      },
      {
        "surface": "に"
      },
      {
        "surface": "ふりがな"
      },
      {
        "surface": "を"
      },
      {
        "furigana": "ふる",
        "roman": "huru",
        "subword": [
          {
            "furigana": "ふ",
            "roman": "hu",
            "surface": "振"
          },
          {
            "furigana": "る",
            "roman": "ru",
            "surface": "る"
          }
        ],
        "surface": "振る"
      },
      {
        "surface": "こと"
      },
      {
        "surface": "。"
      }
    ]
  }
}

エラー

ルビ振りAPIはYahoo! JAPAN Web APIに共通のエラーメッセージおよびコードが返ります。

また、リクエストパラメータが本ドキュメント記載の仕様と異なる場合、ステータスコード200でJSON-RPC 2.0の仕様に準拠したレスポンスが返ることがあります。

フィールド 説明
id string,integer リクエストのidの値が返ります。
jsonrpc string 固定で「"2.0"」が返ります。
error object
error/code integer JSON-RPC 2.0の仕様に準拠したエラーコードです。
error/message string JSON-RPC 2.0の仕様に準拠したエラーメッセージです。

例1:不正なJSONの場合

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.furiganaservice.furigana",
  "params": {
    "q": "漢字かな交じり文にふりがなを振ること。",
    "grade": 1
  }

レスポンス

{
  "id": null,
  "jsonrpc": "2.0",
  "error": {
    "code": -32700,
    "message": "Parse error"
  }
}

例2:必須のパラメータがない場合

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "params": {
    "q": "漢字かな交じり文にふりがなを振ること。",
    "grade": 1
  }
}

レスポンス

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "error": {
    "code": -32600,
    "message": "Invalid request"
  }
}

例3:存在しないmethodを指定した場合

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "invalid.method.name",
  "params": {
    "q": "漢字かな交じり文にふりがなを振ること。",
    "grade": 1
  }
}

レスポンス

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "error": {
    "code": -32601,
    "message": "Method not found"
  }
}

利用制限

ルビ振りでは、1リクエストの最大サイズを 4KB に制限しています。また、利用回数の制限については利用回数の制限についてをご参照ください。

アプリケーションの管理

目次

利用のルール

開発のヒント