サービス アカウントの使用
認証にはサービス アカウントを使用することを推奨します。Vision API に対する認証にサービス アカウントを使用する手順は、次のとおりです。
- 手順に沿ってサービス アカウントを作成します。キーのタイプとして JSON を選択します。
完了すると、ブラウザのデフォルトの場所にサービス アカウント キーがダウンロードされます。
次に、サービス アカウントの認証を署名なしトークンとして指定するか、アプリケーションのデフォルト認証情報として使用するかを決定します。
署名なしトークン
cURL で HTTP リクエストを行うなど、Vision API を直接呼び出す場合は、認証を署名なしトークンとして Authorization
ヘッダーに入れて渡します。サービス アカウントを使用して署名なしトークンを取得する手順は次のとおりです。
- gcloud CLI をインストールします。
以下のコマンドの
KEY_FILE
の部分をサービス アカウント キーファイルのパスに置き換えて、サービス アカウントに対する認証を行います。gcloud auth activate-service-account --key-file KEY_FILE
サービス アカウントを使用して認証トークンを取得します。
gcloud auth print-access-token
このコマンドはアクセス トークンの値を返します。
API を呼び出すときは、
Authorization
ヘッダーでサービス アカウントを使用して、認証トークンを取得します。curl -s -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://vision.googleapis.com/v1/images:annotate" -d @request.json
アプリケーションのデフォルト認証情報
クライアント ライブラリを使って Vision API を呼び出す場合は、アプリケーションのデフォルト認証情報(ADC)を使用します。ADC を使用するサービスは、GOOGLE_APPLICATION_CREDENTIALS
環境変数で認証情報を検索します。ADC で他の認証情報(ユーザーの認証情報など)を使用する場合を除いて、この環境変数はサービス アカウント キーファイルを指すよう設定することをおすすめします。
export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_KEY_FILE
PATH_TO_KEY_FILE
の部分は、JSON サービス アカウント ファイルのパスに置き換えます。GOOGLE_APPLICATION_CREDENTIALS
はそのまま入力してください(プレースホルダではありません)。
API キーの使用
Google Cloud コンソールの API キーを使用して Vision API に対する認証を行うことができます。
手順は次のとおりです。
手順に沿って Google Cloud コンソールのプロジェクトの API キーを作成します。
Vision API リクエストを行う場合は、作成したキーを
key
パラメータの値として渡します。例:POST https://vision.googleapis.com/v1/images:annotate?key=YOUR_API_KEY
API キーの不正使用を防止するため、API キーを安全に使用するためのおすすめの方法を必ずお読みください。