בדף הזה מוסבר איך ליצור ולנהל מפתחות 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"
עדכון השם המוצג
כדי לשנות את