我猜你已经有一个Service Account
具有项目/产品/资源的适当权限。如果没有,您可以找到有关如何创建它的指南创建和管理服务帐户 https://cloud.google.com/iam/docs/creating-managing-service-accounts.
关于Bearer Token
你应该阅读有关它的内容验证为服务帐户 https://cloud.google.com/docs/authentication/production#cloud-console.
如果你有一个Service Account
具有适当的访问权限和key.json
您可以使用Bearer token
.
In GCP
控制台您可以使用命令打印默认令牌:
### for default SA
$ gcloud auth application-default print-access-token
### for other SA
$ gcloud auth print-access-token SA_NAME@PROJECT_ID.iam.gserviceaccount.com
更多详细信息可以参见这个文档 https://cloud.google.com/sdk/gcloud/reference/auth/application-default/print-access-token.
要求默认SA
应该看起来像这样:
curl -X POST /v2beta1/{parent=projects/*}/agent:train \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)"
对于特定的一次性请求,您应该使用以下示例:
curl -X POST /v2beta1/{parent=projects/*}/agent:train \
-H "Authorization: Bearer $(gcloud auth print-access-token <YourSAaccount>)"
SA 帐户可能如下所示:<SAname>@<projectID>.iam.gserviceaccount.com
请记住,该 SA 必须处于活动状态。您可以使用命令来激活 SA:
$ gcloud auth activate-service-account SA_NAME@PROJECT_ID.iam.gserviceaccount.com --key-file=/path/to/SAkey/key.json
###or using just key
$ gcloud auth activate-service-account --key-file=/path/to/SAkey/key.json
和列出活动的命令SA
is:
$ gcloud auth list
我随机选择了一个帖子对话流API https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1-overview.