Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
508
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@tanabee

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

概要

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。

アクセス方法は、 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 ネタ

508
Help us understand the problem. What is going on with this article?
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
508
Help us understand the problem. What is going on with this article?