קבלת מידע על מפתחות API

בדף הזה מוסבר איך להשתמש ב-methods של מפתח API כדי:

הצגת רשימה של מפתחות API בפרויקט

אפשר לקבל רשימה של כל המפתחות שבבעלות Google Cloud פרויקט באמצעות ה-method‏ ListKeys:

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     '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=="
    }
  ]
}

כברירת מחדל, ה-method‏ ListKeys מחזירה רשימה של מפתחות API שאפשר להשתמש בהם. כדי לראות את רשימת כל המפתחות, כולל מפתחות שמסומנים למחיקה, מוסיפים את פרמטר השאילתה show_deleted=true:

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?show_deleted=true'

אם הפעולה מצליחה, מקבלים תגובה שדומה לזו:

{
  "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=="
    },
    {
      "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=="
    }
  ]
}

בשדה deleteTime מאוחסן המועד שבו ניתנה פקודת המחיקה. המפתחות נמחקים באופן סופי 30 יום אחרי שהונפקה פקודת המחיקה.

אם יש לכם הרבה מפתחות API בפרויקט, יכול להיות שתעדיפו להציג את התוצאות בדפים במקום להחזיר את כל המפתחות. כדי לשלוט במספר התוצאות בדף, מוסיפים את פרמטר השאילתה pageSize ומגדירים אותו למספר התוצאות שרוצים להחזיר:

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25'

סוף התשובה מכיל את השדה nextPageToken. כדי לקבל את דף התוצאות הבא, צריך לכלול את האסימון בקריאה הבאה על ידי הוספת פרמטר השאילתה pageToken:

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25&pageToken=TOKEN'

אחזור מטא-נתונים של מפתח API

כדי לקבל מטא-נתונים על מפתח API ספציפי, מפעילים את השיטה GetKey עם הפרמטרים Key.name:

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID'

איתור מחרוזת המפתח

מטעמי אבטחה, השיטות ListKeys ו-GetKey לא מחזירות את Key.keyString. כדי לקבל את keyString של מפתח API, מפעילים את method ‏GetKeyString עם Key.name:

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     'https://apikeys.googleapis.com/v2/Key.name/keyString'

למשתמש שמבצע את הקריאה צריכה להיות ההרשאה apikeys.keys.getKeyString כדי להפעיל את ה-method‏ GetKeyString.

חיפוש שם של מפתח ופרויקט לפי מחרוזת של מפתח

אם יש לכם keyString ואתם צריכים לחפש את המפתח name ואת הפרויקט שבבעלותו מפתח ה-API, אתם יכולים לקרוא ל-method ‏LookupKey ולציין את פרמטר השאילתה keyString:

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     '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 מכיל את מספר הפרויקט של הפרויקט parent שבו נוצר מפתח ה-API. Google Cloud
  • השדה name מכיל את המזהה הייחודי של מפתח ה-API.

המאמרים הבאים