#はじめに
翻訳処理を自動化したいケースがいくつかあると思いますが、この時に、DeepL のサイトや Google 翻訳のサイトを介した GUI 操作で実行するより、API を利用する方が安定性や速度の面でメリットがあります。
この記事では、Power Automate のクラウド フローから、DeepL API を使用して翻訳の自動化を行う方法を記載しています。
#DeepL API の利用方法
ここでは、DeepL API の概要と DeepL API の利用方法を記載します。
##DeepL について
DeepL は、ニューラルネットワークを用いた高品質の訳文を作り出す機械翻訳システムです。
##DeepL API について
DeepL では、開発者向けに API を使用した翻訳機能を提供しています。
今回の記事では、この DeepL API を使用するために、無料の DeepL API Free のアカウントを作成し、Power Automate から使用します。
DeepL API Free は、開発者向けプランで、1 か月に 50 万文字まで無料で翻訳できます。
DeepL API Free は、DeepL の REST API を自身の製品やプラットフォームに統合したいと考える方や開発者のためのプランです。
API が使用可能な開発者プランには、他に有償の DeepL API Pro があり、以下の特徴やメリットがあります。
・万全のセキュリティ対策(テキストは翻訳後すぐに削除)
・1か月に翻訳できる文字数に制限なし
・翻訳リクエストを優先的に処理
・1か月の基本料金630円 + 利用文字数分の料金(1文字あたり0.0025円)
DeepL API Free と 詳細については、下記公開情報をご確認ください。
###DeepL API Free のアカウントの取得方法について
DeepL のサイト にアクセスし、開発者向けタブから [無料で登録する] をクリックします。
[メールアドレス] と [パスワード] を入力し、[続行] をクリックします。
[氏名] と [住所] と [本人確認用のクレジットカード情報] を入力します。
※クレジットカードの情報の入力が必要となるのは、不正利用防止のためで、任意操作で Pro にアップグレードしない限りは課金は発生しないとのことです。
アカウントが作成されると、アカウントページにアクセス可能となり、API 利用の認証キーが利用可能となります。
以上で事前準備が完了しました。
この記事で使用する DeepL API Free のリファレンスは、以下から確認することができます。
#Power Automate (クラウド フロー) からの DeepL API の利用方法
Web ブラウザーから、コネクタを使ってクラウドサービスなど API を使用してを連携するのが、Power Automate のクラウド フローです。
ここでは、クラウド フローから、DeepL API を利用する方法を記載します。
それぞれの設定を確認していきます。
##1. トリガー (翻訳するキーワードの入力)
このクラウド フローの起点となるアクションです。
[+ 作成] から、[インスタント クラウド フロー] を選択します。
作成画面が表示されたら [手動でフローをトリガーします] を選択し、[作成] をクリックします。
[手動でフローをトリガーします] をクリックし、[入力の追加] をクリックします。
以上で、トリガーとなるアクションの設定は完了です。
##2. DeepL API の利用
DeepL API を利用するには、HTTP アクションから REST API を呼び出します。
[HTTP コネクタ] を検索します。(HTTP コネクタは、Premium コネクタです)
[HTTP アクション] が表示されます。
各パラメータを以下の通り設定します
HTTP アクションには以下のパラメータが設定します。
auth_key には、DeepL のAPI 認証キーを設定します。
プロパティ | パラメータ | パラメータ2 |
---|---|---|
方法 | POST | |
URI | https://api-free.deepl.com/v2/translate | |
ヘッダー | Content-type | application/x-www-form-urlencoded |
本文 | auth_key="DeepL の API キー"&text=[翻訳英語]&target_lang=JA | |
認証 | なし |
##3. JSON の解析
DeepL API による翻訳の結果 (API のレスポンス) は、以下のような JSON 形式で返ってきます。
{
"translations": [
{
"detected_source_language": "EN",
"text": "Hallo, Welt!"
}
]
}
シンプルな JSON だと思うのですが、ここでは "JSON の解析" アクションを使用し、あとのアクションで少し使いやすくします
[サンプル JSON ペイロードの挿入] で、上記のサンプルの JSON を貼り付けて、完了をクリックします。
[スキーマ] が設定されたことを確認したら、[コンテンツ] に [HTTP アクション] で取得した [本文] を設定します。
##4. モバイルアプリへの通知アクション
翻訳処理を行った結果は、通知アクションで、モバイルアプリに結果を通知します。
[Send me a mobile notification] アクションを検索します。
通知するテキストとして、[JSON の解析] の [text] を選択します。
選択すると [Apply to each] アクションの中に、本アクションが設定されますが、これで完了となります。
スマートフォンの Power Automate アプリから、このクラウド フローを実行した結果です。
"Power Automate Desktop August 2021 update" という文章を、翻訳した結果 ("Power Automate Desktop 2021年8月のアップデート") が表示されます。
#まとめ
DeepL API は、開発者用の Free プランもあり、とても試しやすいです。
また、リクエストも応答もシンプルで、私のような API 初心者でも簡単に使用することができました。
今回は、文字入力したもの翻訳する処理を行いましたが、メールや、他のクラウド サービスから取得した文章の翻訳にも使用できると思いますので、翻訳の自動化に役立つのではないかと思います。