2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【2025年版】タダで作るGoogle翻訳API

Last updated at Posted at 2025-07-10

はじめに

この記事の焼き直しみたいなものです。

ただ、一部引っ掛かったところがあったり、少し古くなっていたので備忘録的な意味もかねて、、、

対象者

  • 無料で翻訳してくれるAPIが欲しい人
  • 翻訳の字数制限が煩わしい人
  • 多少の手間は厭わない人

手順

GoogleAppScriptプロジェクトの作成

  • 上記のサイトにアクセスします
  • 左上にある 新しいプロジェクト を押してプロジェクトを作成します
    image.png
  • 名前を変更 から名前を変更します。何でもよいですが、今回は main とします
    image.png
  • 上部のこの部分を押して名前を変更します。何でもよいですが、今回は google_translate_api とします
    image.png

中身を作る

  • デフォルトで関数がすでに書かれていますが、関数名を myFunction から doGet に書き換えてください
    image.png
main.gs
function doGet(e) {
  const param = e.parameter;
  const translatedText = LanguageApp.translate(param.text, param.source, param.target);

  let body = null;

  if (translatedText) {
    body = {
      code: 200,
      text: translatedText
    };
  } else {
    body = {
      code: 400,
      text: "Bad Request"
    };
  }

  const response = ContentService.createTextOutput();
  response.setMimeType(ContentService.MimeType.JSON);
  response.setContent(JSON.stringify(body));

  return response;
}
  • あとは保存します

デプロイする

最後にデプロイしてAPIとして使えるようにしますが、GoogleDriveから公開設定を変えないとアクセス拒否されます(ここで詰まりました)

GoogleDriveから公開設定を変える

  • ドライブから先ほど作成したプロジェクトの 共有 から
    image.png

  • リンクを知っている全員 に変更します
    image.png

デプロイする

  • 先ほどのプロジェクトの画面に戻り、右上の デプロイ から 新しいデプロイ を選択
    image.png

  • 以下の設定で デプロイ を押します(説明は自由に書いてください)
    image.png

  • デプロイがされるとURLが出てくるので記録しておきます
    image.png

実行してみる

パラメータは三つあります

  • text: 翻訳する文章
  • source: 翻訳元言語(iso639コード)
  • target: 翻訳先言語(〃)

試しに HelloWorld を訳してもらいましょう
https://script.google.com/macros/s/AKfycbyY3OmmviCBf6Fh6kJOIL4tVf0os8BsstJZUCfoM2bnUy4-WNjKR_Na8P2bxzgpY9k/exec?text=HelloWorld&source=en&target=ja

正常に結果が帰ってきました
image.png

もちろん、axiosやfetchやその他諸々でもアクセスできます

axiosから叩いてみる

const { default: axios } = await import("axios");
const url = "https://script.google.com/macros/s/AKfycbyY3OmmviCBf6Fh6kJOIL4tVf0os8BsstJZUCfoM2bnUy4-WNjKR_Na8P2bxzgpY9k/exec";
const params = {
      text: "Hello World",
      source: "en",
      target: "zh-TW"
}
await axios.get(url, {params})

正常に帰ってきます
image.png

詳しい仕様

  • Googleによるドキュメントに対応している言語が書かれています
  • 翻訳元言語(source)は指定しなくてもよいようです(参考)
    • 指定しない場合自動で判別されるようです

その他より詳細な仕様については、ここに書かれています

終わりに

少し長くなってしまいましたが、Google翻訳APIを無料で作る方法でした。
初めて書いた記事なので、いろいろとツッコミどころなどがあるかもしれませんがお許しを、、、笑
間違っているところなどあればコメントをもらえると助かります。

参考資料

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?