San*_*ool 9 oauth-2.0 google-oauth google-cloud-platform google-cloud-vertex-ai
我正在尝试通过 REST 调用 Google 的 Vertex AI API,如下所示:
https://us-central1-aiplatform.googleapis.com/v1/projects/...
我无法弄清楚从哪里获取“访问令牌”:
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
Run Code Online (Sandbox Code Playgroud)
我能够从 Google CLI 生成一个短期 OAUth,但我想生成一个长期 OAUth。我尝试了以下方法,所有这些都返回 401 错误:
API密钥
服务帐号
我只是需要这个来进行测试。有没有办法让我轻松做到这一点?
使用 Google CLI,但这是一个短期解决方案。令牌在 30 分钟后过期。
您只能通过REST API(请参阅文档)执行此操作,并满足以下要求
默认情况下,最大令牌生命周期为 1 小时(3,600 秒)。要将这些令牌的最大生命周期延长至12 小时(43,200 秒),请将服务帐户添加到包含constraints/iam.allowServiceAccountCredentialLifetimeExtension 列表约束的组织策略中。
要使用 REST API,您需要执行 POST 方法来
https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/PRIV_SA:generateAccessToken
与身体
{
"scope": [
"https://www.googleapis.com/auth/cloud-platform"
],
"lifetime": "LIFETIME"
}
Run Code Online (Sandbox Code Playgroud)
在哪里
LIFETIME:访问令牌过期之前的时间量(以秒为单位)。例如,300秒
PRIV_SA:为其创建短期令牌的特权服务帐户的电子邮件地址。
您当前的方法是通过 gcloud CLI。根据文件,
Google Cloud CLI 不支持设置令牌的生命周期
这意味着您受到设计为较短的默认时间限制的限制(访问令牌称为短期凭证)
| 归档时间: |
|
| 查看次数: |
4726 次 |
| 最近记录: |