ルビ振り

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

こちらは新バージョンのAPIです。
旧バージョンに関してはこちらをご覧ください。

リクエストURL

JSON
https://jlp.yahooapis.jp/FuriganaService/V2/furigana

リクエストパラメータ(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
q(必須) string ふりがなを付ける対象のテキストです。
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"
  }
}

利用制限

ルビ振りWeb APIは、24時間以内で1つのアプリケーションIDにつき50000件のリクエストが上限となっています。また、1リクエストの最大サイズを4KBに制限しています。詳しくは「利用制限」をご参照ください。

アプリケーションの管理

目次

開発のヒント