יצירה וניהול של מפתחות API

בדף הזה מוסבר איך ליצור ולנהל מפתחות API באמצעות API של מפתחות API.

במאמר שימוש במפתחות API מוסבר איך להשתמש במפתח API בקריאות ל-API. Google Cloud

יצירת מפתח API

אפשר ליצור מפתח API באמצעות method‏ CreateKey. השיטה דורשת פרמטר Key. אפשר לציין רק את השדות displayName ו-restrictions של האובייקט Key. ‫CreateKey היא לא שיטה סינכרונית. במקום זאת, כשמבצעים קריאה ל-CreateKey, מתחילה פעולה ממושכת. בדוגמה הבאה מבוצעת קריאה ל-CreateKey כדי ליצור מפתח API ללא הגבלות:

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     -d '{
          "displayName" : "Example API key"
        }' \
     'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys'

אם הפעולה בוצעה ללא שגיאות, השיטה מחזירה פעולה ממושכת בתגובה. כמו שמתואר במאמר בנושא דגימה של פעולות ממושכות, צריך לבצע שוב ושוב קריאות של operations.get עם הערך מהשדה name. כשהתשובה מ-operations.get מכילה את "done": true, האובייקט response מכיל את Key, בדומה לדוגמה הבאה:

{
  "name": "operations/akmf.p7-103621867718-06f94db2-7e91-4c58-b826-e6b80e4dc3eb",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.api.apikeys.v2.Key",
    "name": "projects/PROJECT_NUMBER/locations/global/keys/aecd7943-98ff-4ce2-a876-ec1b37c671ca",
    "displayName": "Example API key",
    "keyString": "----REDACTED----",
    "createTime": "2021-03-23T17:39:46.721099Z",
    "uid": "aecd7943-98ff-4ce2-a876-ec1b37c671ca",
    "updateTime": "2021-03-23T17:39:47.046746Z",
    "etag": "k0bsYGkIvSxDVwNxyw49NQ=="
  }
}

באובייקט response:

  • השדה name מכיל מזהה ייחודי של מפתח ה-API. משתמשים בערך בשדה name בשיטות אחרות שבהן נדרש שם מפתח. הערך הזה לא מוצג ב- Google Cloud console, אבל אפשר להתקשר לשיטה ListKeys כדי לקבל את names לכל מפתחות ה-API. השדה Key.name תמיד בפורמט הבא: projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.
  • השדה displayName ממופה לשדה Name במסוףGoogle Cloud , ולכן כדאי לספק displayName כשקוראים ל-CreateKey.
  • השדה keyString מכיל את המחרוזת ששולחים לממשקי ה-API שדורשים מפתח API. השדה keyString ממופה לשדה API key במסוףGoogle Cloud . אפשר להפעיל את method ‏GetKeyString כדי לקבל את keyString של מפתח API.
  • השדה etag מכיל סכום ביקורת שמחושב על ידי השרת על סמך הערך הנוכחי של המפתח. צריך להעביר את הערך etag כשמבצעים קריאה לשיטות UpdateKey ו-DeleteKey.

מזהה מפתח שצוין על ידי המשתמש

אפשר לציין את keyId כפרמטר של שאילתה לשיטה CreateKey. אם מציינים ערך, הוא הופך לרכיב הסופי של Key.name.

לדוגמה, נבחן את הקריאה הבאה לפונקציה CreateKey:

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     -d '{
          "displayName" : "Example API key with user-specified ID"
        }' \
     'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?keyId=my-test-key1'

בדוגמה הזו, השדה Key.name מכיל את הערך הבא:

"name": "projects/PROJECT_NUMBER/locations/global/keys/my-test-key1"

עדכון השם המוצג

כדי לשנות את