JRuby からGoogle Translate にデータ連携

加藤龍彦
加藤龍彦
デジタルマーケティング
リアルタイムGoogle Translate に連携するシンプルなJRuby アプリケーションを作成します。



JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for API を使用すると、JRuby からリアルタイムGoogle Translate へのデータ連携を簡単に実装できます。ここでは、Google Translate に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。

Google Translate のデータにJDBC で接続

アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for API\libにあります。)

JRuby は、JDBC をネイティブにサポートしているため、簡単にGoogle Translate に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。

認証

Google Cloud Translation API では、翻訳サービス、データセット、用語集、適応型 MT リソースへの安全なアクセスを確保するために、OAuth 2.0 認証が必要です。この認証方式により、Google Cloud プロジェクトに安全に接続し、適切な認可のもとで翻訳リソースを管理できます。

OAuth 2.0 のセットアップと設定

ステップ 1:Google Cloud プロジェクトの作成と API の有効化

OAuth 認証をセットアップするには、以下のステップで進めます:

  1. Google Cloud Console にアクセスします
  2. 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
  3. Project ID を控えておきます(すべての API 呼び出しで必要です)
  4. 「APIs & Services」 > 「Library」に移動します
  5. 「Cloud Translation API」を検索して有効化します
  6. 「APIs & Services」 > 「Credentials」に移動します
  7. 「Create Credentials」をクリックし、「OAuth Client ID」を選択します
  8. プロンプトが表示されたら OAuth 同意画面を設定します
  9. 用途に応じて「Desktop application」または「Web application」を選択します
  10. 承認済みリダイレクト URI(CallbackURL)を設定します
  11. 接続で使用する Client ID と Client Secret をコピーします

必須の接続プロパティ

  • AuthScheme:OAuth に設定します(必須)
  • OAuthClientId:Google Cloud Console の Client ID(必須)
  • OAuthClientSecret:Google Cloud Console の Client Secret(必須)
  • CallbackURL:OAuth アプリケーションで指定したリダイレクト URI(必須)
  • InitiateOAuth:トークンを自動管理するには GETANDREFRESH に設定します(推奨)
  • ProjectId:Google Cloud のプロジェクト ID またはプロジェクト番号(クエリに必須)

必須の OAuth スコープ

Google Cloud Translation API プロファイルでは、以下の OAuth スコープが必要です:

  • https://www.googleapis.com/auth/cloud-translation - 翻訳、データセット、用語集、適応型 MT を含む Cloud Translation API リソースへのフルアクセス

ビルトイン接続文字列デザイナー

JDBC URL の構成については、Google Translate JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.api.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

以下はGoogle Translate の一般的なJDBC 接続文字列です。

jdbc:api:Profile=C:\profiles\GoogleTranslate.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;

Google Translate のデータへの接続性を持つJRuby アプリを作成

新しいRuby ファイル(例: APISelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。

require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for API 2018/lib/cdata.jdbc.api.jar'

url = "jdbc:api:Profile=C:\profiles\GoogleTranslate.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT LanguageCode, DisplayName FROM SupportedLanguages")
while (rs.next) do
  puts rs.getString(1) + ' ' + rs.getString(2)
end

ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でGoogle Translate を表示できるようになります。

jruby -S APISelect.rb

SQL-92 クエリをGoogle Translate に書き込むと、Google Translate を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。

はじめる準備はできましたか?

API Driver で Google Translate のライブデータに接続

Google Translate に接続