Googleスプレッドシートで日本語の読みがなを自動取得したい場合、Google Apps Script(GAS)から「よみたんAPI」を呼び出す方法があります。
よみたんAPIは、GETリクエストでクエリを渡すと読みがなを返してくれるWeb APIです。Googleスプレッドシートのカスタム関数として設定すれば、セルに入力した語句の読みがなを別のセルに表示できます。
GASコード
以下は、Googleスプレッドシート上で使えるカスタム関数の例です。
/**
* 指定された文字列の読みがなを返却します。
*
* このコードは、よみたんAPI v2をGoogle Apps Scriptから利用して、
* 日本語文字列の読みがなを取得するサンプルです。
*
* よみたんAPIを使用しています。
* API提供元:よみたん(HARMONICOM)
*
* 注意:
* 大量のセルで常時再計算させるとAPIに負荷がかかる可能性があります。
* 読みがな取得後は、必要に応じて値貼り付けにするなど、
* 過度な連続アクセスを避けてください。
*
* @param {string} word 日本語文字列
* @param {string} kquery "h" ひらがな / "k" カタカナ
* @return {string} 変換後の文字列
* @customfunction
*/
function GetPhonetic(word, kquery = "h") {
if (!word) return "";
// よみたんAPI v2を使用しています
// https://yomitan.harmonicom.jp/api/v2/yomi
const url =
"https://yomitan.harmonicom.jp/api/v2/yomi" +
"?ic=UTF8" +
"&oc=UTF8" +
"&kana=" + encodeURIComponent(kquery) +
"&num=3" +
"&text=" + encodeURIComponent(word);
const response = UrlFetchApp.fetch(url, {
muteHttpExceptions: true
});
const code = response.getResponseCode();
if (code !== 200) {
return "ERROR " + code;
}
const json = JSON.parse(response.getContentText());
// 応答の yomi 配列から1個目の読みを取得
if (!json.yomi || json.yomi.length === 0) {
return "";
}
return json.yomi[0];
}