PowerBuilder で Google Translate OData フィードを利用
CData API Server は、PowerBuilder DataWindow で利用できるセキュアなGoogle Translate のデータフィードを生成します。API Server は、OData、Atom、JSON、HTML、CSV、TSV、RSS などの主要な Web サービスをサポートしています。また、主要な認証スキームと SSL もサポートしています。
この記事では、CData API Server を使用してデータを取得する DataWindow を作成する方法を説明します。
API Server のセットアップ
以下の手順に従って、セキュアな Google Translate OData サービスの作成を開始します。
デプロイ
API Server は独自のサーバー上で実行されます。Windows では、スタンドアロンサーバーまたは IIS を使用してデプロイできます。Java サーブレットコンテナでは、API Server WAR ファイルをドロップします。詳細と手順については、ヘルプドキュメントを参照してください。
API Server は、Microsoft Azure、Amazon EC2、Heroku へのデプロイも簡単です。
Google Translate への接続
API Server をデプロイしたら、API Server 管理コンソールで Settings -> Connections をクリックして新しい接続を追加し、Google Translate に接続するために必要な認証値やその他の接続プロパティを指定します。
認証
Google Cloud Translation API では、翻訳サービス、データセット、用語集、適応型 MT リソースへの安全なアクセスを確保するために、OAuth 2.0 認証が必要です。この認証方式により、Google Cloud プロジェクトに安全に接続し、適切な認可のもとで翻訳リソースを管理できます。
OAuth 2.0 のセットアップと設定
ステップ 1:Google Cloud プロジェクトの作成と API の有効化
OAuth 認証をセットアップするには、以下のステップで進めます:
- Google Cloud Console にアクセスします
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
- Project ID を控えておきます(すべての API 呼び出しで必要です)
- 「APIs & Services」 > 「Library」に移動します
- 「Cloud Translation API」を検索して有効化します
- 「APIs & Services」 > 「Credentials」に移動します
- 「Create Credentials」をクリックし、「OAuth Client ID」を選択します
- プロンプトが表示されたら OAuth 同意画面を設定します
- 用途に応じて「Desktop application」または「Web application」を選択します
- 承認済みリダイレクト URI(CallbackURL)を設定します
- 接続で使用する 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 リソースへのフルアクセス
次に、Settings -> Resources をクリックして、API Server からアクセスを許可する Google Translate エンティティを選択できます。
また、Settings -> Server をクリックし、PowerBuilder との互換性のために以下の設定を変更します:
- Default Format:メニューから XML (Atom) を選択。
- Default Version:メニューから 2.0 を選択。
API Server ユーザーの認可
生成する OData サービスを決定したら、Settings -> Users をクリックしてユーザーを認可します。API Server は Authtoken ベースの認証を使用し、主要な認証スキームをサポートしています。アクセスは IP アドレスに基づいて制限することもできます。デフォルトでは、ローカルマシンへの接続のみが許可されています。SSL で認証と接続の暗号化も可能です。
Google Translate 用のプロファイルを作成
以下の手順に従って、Database Painter ツールを使用して API Server の OData API 用のデータベースプロファイルを作成します。Database Painter では、データをグラフィカルに操作したり、SQL クエリを実行したりできます。
- Tools -> Database Painter をクリックします。
- OData ノードを右クリックし、New Profile をクリックします。
- Database Profile Setup ダイアログで、以下を入力します:
- Profile Name:プロファイルのわかりやすい名前を入力します。
- URI:API Server の OData エンドポイントへの URL を入力します。この URL は以下のような形式になります:
http://MyServer:8080/api.rsc
- Supply User Id and Password:HTTP Basic 認証を使用する場合は、このオプションをクリックします。なお、API Server は Windows 認証もサポートしています。
- User Id:API Server のユーザー名を入力します。
- Password:API Server のユーザーの Authtoken を入力します。
- テーブルを表示・変更するには、テーブルを右クリックして Edit Data -> Grid をクリックします。
PowerBuilder コントロールで Google Translate のデータ を使用
標準的な PowerBuilder オブジェクトを使用して OData フィードに接続し、クエリを実行できます。以下の例は、Google Translate のデータ を DataWindow に取得する方法を示しています。
open メソッドに以下のコードを追加できます:
SQLCA.DBMS = "ODT" SQLCA.DBParm = "ConnectString='URI=http://MyServer:8080/api.rsc;UID=MyAPIUser;PWD=MyAuthtoken'"; CONNECT USING SQLCA; dw_supportedlanguages.SetTransObject(SQLCA); dw_supportedlanguages.Retrieve();