Help us understand the problem. What is going on with this article?

3 分で作る無料の翻訳 API with Google Apps Script

More than 1 year has passed since last update.

概要

Google 翻訳 API を無料で使えないかと思ってたところ、 Google Apps Script の LanguageApp クラスを発見し、「これは!」と思ったので早速 GAS から使って無料の翻訳 API 作ってみた話です。 GAS のシンプル設計のおかげで実装は非常に簡単なので、 3 分でサクッと作れます。

1. GAS にアクセス

https://script.google.com にアクセスし、 + 新規スクリプト を選択。GAS エディタが立ち上がる。

スクリーンショット 2018-03-29 20.52.21.png

2. 実装

GAS プロジェクトに適当に名前をつけて、コーディング開始。コードは以下の 5 行で完成(エラーハンドリングサボってます)。

スクリーンショット 2018-03-29 20.50.37.png

コードは以下。リポジトリはこちら > https://github.com/tanabee/google-translation-api

function doGet(e) {
  var p = e.parameter;
  var translatedText = LanguageApp.translate(p.text, p.source, p.target);
  return ContentService.createTextOutput(translatedText);
}

コードの説明

  • 1, 5 行目: function 定義。ウェブアプリケーションとして公開する時に GET メソッドを受け付ける時のお約束の function 名。
  • 2 行目: Event Objects からクエリストリングのオブジェクトを取得
  • 3 行目: LanguageApp で翻訳実行
  • 4 行目: 翻訳した文字列を return

3. デプロイ

以下ポチポチ作業でデプロイ。

スクリーンショット 2018-03-29 20.50.45.png

公開 > ウェブアプリケーションとして導入 を選択。

スクリーンショット 2018-03-29 20.51.00.png

新規作成 のところにバージョン番号(今回は初めてのバージョンなので 1 )を設定。実行ユーザーは自分のメールアドレスを選択し、アクセス制限は 全員(匿名ユーザーを含む) を選択して 導入 ボタンをクリック。

スクリーンショット 2018-03-29 21.07.42.png

すると URL が表示されるので、ここにアクセスすれば OK。

API 叩いてみる

今回デプロイしたのはこちらの URL。

https://script.google.com/macros/s/AKfycbweJFfBqKUs5gGNnkV2xwTZtZPptI6ebEhcCU2_JvOmHwM2TCk/exec

アクセス方法は、 exec の後に ?text=翻訳したい文字列&source=翻訳前言語&target=翻訳後言語 を指定して GET リクエストする。試しに以下にアクセスするとレスポンスが適切に返ってくるはず(なにかしらの制限で落ちてる場合はすみません)。

こんにちわ英語 に翻訳: https://script.google.com/macros/s/AKfycbweJFfBqKUs5gGNnkV2xwTZtZPptI6ebEhcCU2_JvOmHwM2TCk/exec?text=こんにちわ&source=ja&target=en

こんにちわ中国語 に翻訳:
https://script.google.com/macros/s/AKfycbweJFfBqKUs5gGNnkV2xwTZtZPptI6ebEhcCU2_JvOmHwM2TCk/exec?text=こんにちわ&source=ja&target=zh-cn

まとめ

以上、サクッと翻訳 API を作れました。 GAS 最強ですね!

他の GAS ネタ

tanabee
Vice President, RPG TEC. Google Developers Expert / Licensed Scrum Master
https://tanabee.github.io
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした