【问题标题】:Create Api Key using gcloud?使用 gcloud 创建 API 密钥?
【发布时间】:2018-09-01 12:54:25
【问题描述】:

我使用“gcloud projects create [project-id]”创建项目,然后“gcloud services enable customsearch.googleapis.com”启用自定义搜索。

现在我想创建一个 Api Key,但看不到任何方法。有可能吗?

谢谢

【问题讨论】:

    标签: key credentials gcloud api-key service-accounts


    【解决方案1】:

    您似乎必须通过 GCP 控制台创建 API 密钥,但是将来会提供此功能的 Feature Request,以便可以使用 gcloud 创建 API 密钥。没有预计到达时间,但可以通过上述链接了解任何进展。现在您可以使用 GCP Console:

    在“API 密钥”部分的此 documentation 链接的底部,您可以单击“获取密钥”。将弹出一个新窗口,要求您选择项目。选择您想要密钥的项目,然后单击下一步。将为您的项目创建一个新的 API 密钥。

    您可以通过API Console Credentials 菜单管理您的 API 密钥并提高其安全性,该菜单也可用于创建 API 密钥。

    您还应该阅读以下 documentation 链接,其中详细说明了使用 API 密钥的优缺点以及可以使用 Service Accounts 克服的限制。

    【讨论】:

      【解决方案2】:

      目前有一个 gcloud alpha 命令可用。

      https://cloud.google.com/sdk/gcloud/reference/alpha/services/api-keys/create

      gcloud alpha services api-keys create --display-name="test name"
      

      查看examples

      【讨论】:

        【解决方案3】:

        根据this article,有一个未发布的API用于创建API-key。

        首先登录

        gcloud auth login
        

        然后获取访问令牌

        gcloud auth print-access-token
        

        然后使用令牌列出当前键。

        curl https://apikeys.googleapis.com/v1/projects/{PROJECT_ID}/apiKeys?access_token={token}
        
        {
          "keys": [
            {
              "keyId": "7d0e2b99-c30c-4b42-bc75",
              "displayName": "API key 1",
              "currentKey": "AIzaSyCT2zcnW0G6dS1N53...",
              "createTime": "2020-05-17T14:09:02.373Z",
              "createdBy": "your@gmail.com",
              "androidKeyDetails": {}
            }
          ]
        }
        

        并创建一个新的 API 密钥。

        curl -X POST https://apikeys.googleapis.com/v1/projects/{PROJECT_ID}/apiKeys?access_token={token}
        
        {
          "keyId": "0e00ca12-2198-46df-8635",
          "currentKey": "AIzaSyA4JSL7_wt7rVhOV...",
          "createTime": "2020-05-17T16:22:04.941Z",
          "createdBy": "korakot@gmail.com",
          "browserKeyDetails": {}
        }
        

        【讨论】:

          【解决方案4】:

          据我了解,目前有两种方法可以对 API 访问进行身份验证:

          • “旧版”API 密钥
          • 较新的服务帐户

          但是有一些限制会造成死锁:

          【讨论】:

          • 您能否在您的答案中添加一些示例代码,以便即使链接网站的内容发生变化,此答案仍然有用。
          【解决方案5】:

          现在可以使用 gcloud:

           gcloud beta iam service-accounts keys create OUTPUT-FILE --iam-account=IAM_ACCOUNT [optional flags]
          

          您可能需要先gcloud components install beta

          【讨论】:

          • 这绝对是有价值的,但命令是为服务帐户创建密钥 - 而不是创建 API 密钥。
          猜你喜欢
          • 2012-08-03
          • 1970-01-01
          • 2023-03-28
          • 1970-01-01
          • 2020-04-15
          • 2019-07-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多