Google Translation APIを利用してみよう！

# Google Translation APIを使う方法
1. プロジェクト作成
- 課金を有効化
- APIを有効化
- 認証情報の設定
- GOOGLE_APPLICATION_CREDENTIALSのパスを通す
- クライアントライブラリのインストール
- コードを実行

の7つの手順を行えば大丈夫

## 1. [プロジェクトの作成](https://cloud.google.com/translate/docs/setup?hl=ja)
[リンク](https://cloud.google.com/translate/docs/setup?hl=ja)を参考にしてプロジェクトを作成してください

![プロジェクトの作成.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/de6afaf1-a542-7c30-4f7a-b33dc1c58e3f.jpeg)

上図の青色「プロジェクトの選択ページに移動」をクリックしてプロジェクトの選択・または作成してください

## 2.　[課金の有効化](https://cloud.google.com/billing/docs/how-to/modify-project?hl=ja)

[リンク](https://cloud.google.com/billing/docs/how-to/modify-project?hl=ja)を参考にしてプロジェクトに対する課金を有効にしてください。
- 大まかな手順
1. 課金が有効になっているかどうかの確認
- Cloud Consoleの左上にあるナビゲーション メニュー（menu）を開き、[お支払い] を選択
- お支払いの概要や月の見積もりが出てきたら課金を有効になっている
- もし請求先アカウントとリンクする、または、請求先アカウントを管理が出てきたら有効になっていない証拠
2. プロジェクトと請求先アカウントをリンクする
3. 請求先アカウントが存在しなかったら、請求先アカウントを作成する


## 3. APIの有効化

1.のリンクに記載されている下図のAPIの有効化をクリックしてAPIを有効にしてください
![APIの有効化.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/5cd91caa-a219-e59e-a0e8-3ef8d7be6272.jpeg)


## 4. 認証情報の設定
認証情報の設定は以下の手順で行う
1. サービスアカウントの作成
2. サービスアカウントキーの作成

### 4.1 サービスアカウントの作成
1.のリンクに記載されている下図のサービスアカウントの作成をクリックしてサービスアカウントを以下の手順で作成してください
![サービスアカウントの作成.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/aeb72cac-9b4b-4e45-aa5b-a5443d0c2c98.jpeg)

### 4.2 サービスアカウントキーの作成
下の手順で実行を行い、キーをダウンロードする

![サービスアカウントキーの作成.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/88728aab-105e-8883-8748-2e08ac8ccde8.jpeg)

ちなみに、サービスアカウントのメールアドレスは以下の図の場所にある
・左上の三本線をクリック
![CloudConsole.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/2ee29322-f01a-b003-91be-8c3097174f5f.jpeg)
・認証情報をクリック
![認証情報.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/c883a03a-5a24-3334-5521-37ed2ec54d09.jpeg)
・サービスアカウントは下図のように画面下部に存在する。それをクリックしてキーを作成
![サービスアカウントリスト.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/763cd389-c14d-9f9f-6fca-3fe3eaa8ab83.jpeg)

## 5. GOOGLE_APPLICATION_CREDENTIALSのパスを通す
先程ダウンロードしたJsonファイルのキーのパスをメモしておく
### Macユーザは以下のコマンドを実行
![環境設定Mac.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/b35a9749-4a38-3bd0-375a-b2e00d12749d.jpeg)

### Windowsユーザは以下のコマンドを実行
![環境設定Windows.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/5dadbe26-9255-30e4-4afb-60ac7f2e32c8.jpeg)

## 6. クライアントライブラリのインストール
今回私はPythonを用いてAPIを実行するので以下のコマンドを実行
以下のコマンドは使用するプログラミング言語によって異なるので、Python以外のユーザーは１．のリンクから下記の扱いたい言語を選択してインストール
![クライアントライブラリのインストール.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/bca5ae0d-9643-5447-a86d-aaa55e92a0cb.jpeg)


## ７．コードの実行
これでGoogle Translation APIを利用する準備が整いました。
サンプルコードは[こちら](https://cloud.google.com/translate/docs/basic/quickstart?hl=ja)にあります。

以下のサンプルコードを実行しましょう。すると下図の出力が出るはずです

```python:translate_text.py
def translate_text(target, text):
    """Translates text into the target language.

    Target must be an ISO 639-1 language code.
    See https://g.co/cloud/translate/v2/translate-reference#supported_languages
    """
    import six
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    if isinstance(text, six.binary_type):
        text = text.decode("utf-8")

    # Text can also be a sequence of strings, in which case this method
    # will return a sequence of results for each text.
    result = translate_client.translate(text, target_language=target)

    print(u"Text: {}".format(result["input"]))
    print(u"Translation: {}".format(result["translatedText"]))
    print(u"Detected source language: {}".format(result["detectedSourceLanguage"]))

if __name__ == "__main__":
    # execute only if run as a script
    translate_text("en","私はペンです")
```
![サンプルコード出力.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554239/745fdea6-8fd1-f870-bafc-99b84545f4d5.jpeg)