Open5

Google API へのアクセス by Python

hideharahidehara

ふと気づいたら、Google Translate APIへのアクセス方法が複数提供されてるようだったので、メモ

Python事情のみ

現在動かしてるサービスで利用してるコード

from googleapiclient.discovery import build
#...
service = build(
    'translate',
    'v2',
    developerKey=developer_key,
)

pip で管理

## for using Google Translate
google-api-python-client
hideharahidehara

Google API Python client library / google-api-python-client

2023年1月段階で、継続してサポートされている。ほっと一安心。

ただし、プロジェクトの説明のところに、次の記述あり。

This is the Google API Python client library for Google's discovery based APIs. To get started, please see the docs folder.

This library is considered complete and is in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features.

This library is officially supported by Google. However, the maintainers of this repository recommend using Cloud Client Libraries for Python, where possible, for new code development. For more information, please visit Client Libraries Explained.
hideharahidehara

Cloud Client Libraries for Python / google-cloud-python

サービス別にライブラリが用意されているもよう。

Translate の場合 : https://pypi.org/project/google-cloud-translate/

Google Cloud Translate API client library / google-cloud-translate

code

# [START translate_v3_translate_text]
# Imports the Google Cloud Translation library
from google.cloud import translate
#...
client = translate.TranslationServiceClient()

pip

pip install google-cloud-translate

参考 : translate/samples/snippets

hideharahidehara

Googleの説明ページ

クライアント ライブラリの説明  |  Cloud APIs  |  Google Cloud

https://cloud.google.com/apis/docs/client-libraries-explained

Cloudクライアント ライブラリ があるなら、そっちを使ってね。が今の状態らしい。

コードスニペットみると、Cloudライブラリ側は Translate v3 への対応のみにも見えるので、なんらかv2アクセスしたい場合には、APIライブラリ側に落ちる感じかな。

hideharahidehara

上記から、自分の場合には、次が必要そう:

  • APIバージョン : v2 から v3 への乗り換え検討
  • それにあたり、利用するライブラリを APIライブラリからCloudライブラリに乗り換え検討

また次に時間とって考えよう。