使用服务账号
首选方法是使用服务账号进行身份验证。要使用服务账号向 Vision API 进行身份验证,请执行以下操作:
- 按照相关说明创建服务账号。选择 JSON 作为密钥类型。
创建完毕后,您的服务账号密钥将下载到浏览器的默认位置。
接下来,决定是以不记名令牌的形式进行服务账号身份验证,还是使用应用默认凭据。
不记名令牌
如果您直接调用 Vision API(例如使用 cURL 发出 HTTP 请求),您将在 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 进行身份验证。
为此,请执行以下操作:
在发出任何 Vision API 请求时,请将您的密钥作为
key
参数的值传递。例如:POST https://vision.googleapis.com/v1/images:annotate?key=YOUR_API_KEY
请务必阅读安全使用 API 密钥的最佳做法,以防他人在未经授权的情况下使用您的 API 密钥。