API 키 정보 가져오기

이 페이지에서는 API 키 메서드를 사용하여 다음을 수행하는 방법을 설명합니다.

시작하기 전에

이 페이지에서는 oauth2l 명령줄 도구와 함께 curl를 사용하여 API 키의 API에 요청을 보냅니다. API를 설정하기 위한 자세한 내용은 API 키 시작하기를 참조하세요.

프로젝트의 API 키 나열

ListKeys 메서드를 사용하여 Google Cloud 프로젝트가 소유한 모든 키의 목록을 가져올 수 있습니다.

gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys

성공하면 다음과 비슷한 응답이 표시됩니다.

{
  "keys": [
    {
      "name": "projects/12345678/locations/global/keys/2885bf87-5b84-47fa-92af-08c3e9337349",
      "displayName": "API key 2",
      "createTime": "2019-05-29T22:07:22.036Z",
      "uid": "2885bf87-5b84-47fa-92af-08c3e9337349",
      "updateTime": "2019-05-29T22:07:22.058623Z",
      "restrictions": {
        "androidKeyRestrictions": {}
      },
      "etag": "zHib8eXEMCxe4ayQEbIaZg=="
    },
    {
      "name": "projects/12345678/locations/global/keys/a4db08b7-5729-4ba9-8c08-f2df493465a1",
      "displayName": "API key 1",
      "createTime": "2019-05-29T22:06:58.844Z",
      "uid": "a4db08b7-5729-4ba9-8c08-f2df493465a1",
      "updateTime": "2019-05-29T22:06:58.855103Z",
      "restrictions": {
        "androidKeyRestrictions": {}
      },
      "etag": "0L5KcPMGoNi53K5+FqPxiw=="
    }
  ]
}

기본적으로 ListKeys 메서드는 사용 가능한 API 키 목록을 반환합니다. 삭제 표시된 것으로 표시된 목록 키를 보려면 filter=state:DELETED를 사용하여 쿼리 매개변수를 추가합니다.

gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?filter=state:DELETED

성공하면 다음과 비슷한 응답이 표시됩니다.

{
  "keys": [
    {
      "name": "projects/12345678/locations/global/keys/5d3564ad-f08e-48df-b0ca-0f50858ba3f2",
      "displayName": "Key 1",
      "createTime": "2019-06-12T04:47:30.214Z",
      "uid": "5d3564ad-f08e-48df-b0ca-0f50858ba3f2",
      "updateTime": "2021-03-05T22:35:37.387645Z",
      "deleteTime": "2021-03-05T22:35:37.290544Z",
      "etag": "V96UGAyyz+6sUHttzK42pQ=="
    },
    {
      "name": "projects/12345678/locations/global/keys/7ad567fa-c11b-4903-99dc-88f89da7d73a",
      "displayName": "Key 2",
      "createTime": "2019-06-12T00:47:27.778Z",
      "uid": "7ad567fa-c11b-4903-99dc-88f89da7d73a",
      "updateTime": "2021-03-05T22:23:57.002187Z",
      "deleteTime": "2021-03-05T22:23:56.350234Z",
      "etag": "njPE6YjwHlrh6TLyxHibBg=="
    }
  ]
}

deleteTime 필드는 삭제 명령어가 실행된 시간을 저장합니다. 삭제 명령어 실행일로부터 30일 후에 키가 영구적으로 삭제됩니다.

프로젝트에 API 키가 많은 경우 모든 키를 반환하는 대신 결과 페이지를 표시하는 것이 좋습니다. 페이지당 결과 또는 결과를 제어하려면 원하는 쿼리 수에 설정된 pageSize 쿼리 매개변수를 추가합니다.

gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25

응답 끝에는 nextPageToken 필드가 포함됩니다. 결과의 다음 페이지를 가져오려면 pageToken 쿼리 매개변수를 추가하여 다음 호출에 토큰을 포함합니다.

gcurl 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25&pageToken=TOKEN'

&가 특수한 Bash 문자이므로 URL을 따옴표로 묶어야 합니다.

API 키의 메타데이터 가져오기

특정 API 키의 메타데이터를 가져오려면 Key.name 메서드를 사용하여 GetKey 메서드를 호출합니다.

gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID

키 문자열 가져오기

보안을 위해 ListKeysGetKey 메서드는 Key.keyString를 반환하지 않습니다. API 키의 keyString를 가져오려면 Key.nameGetKeyString 메서드를 호출합니다.

gcurl https://apikeys.googleapis.com/v2/Key.name/keyString

호출하는 사용자는 GetKeyString 메서드를 호출할 수 있는 apikeys.keys.getKeyString 권한이 있어야 합니다.

키 문자열로 키 이름 및 프로젝트 조회

keyString가 있고 name 키와 API 키를 소유하는 프로젝트를 조회해야 하는 경우 LookupKey 메서드를 호출하고 keyString 쿼리 매개변수를 지정합니다. .

gcurl https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING

응답은 다음 예시와 유사합니다.

{
  "parent": "projects/12345678/locations/global",
  "name": "projects/12345678/locations/global/keys/2c437be3-1c77-417b-8f6f-748189760227"
}

응답에서 다음을 실행합니다.

  • parent 필드에는 API 키가 생성된 Cloud 프로젝트의 프로젝트 번호가 포함됩니다.
  • name 필드에는 API 키의 고유 식별자가 포함됩니다.

다음 단계