בדף הזה מוסבר איך לקבוע את סטטוס ההשלמה של שיטות אסינכרוניות. השיטות האלה מחזירות פעולה ממושכת שמספקת מידע על התקדמות הפעולה והסטטוס הסופי שלה.
השיטות הבאות מחזירות פעולה ממושכת:
CreateKeyUpdateKeyDeleteKeyUndeleteKey
כשמבצעים בקשה לאחת מהשיטות האלה, אם הבקשה מצליחה, השיטה מחזירה מזהה פעולה בשדה name, שמייצג פעולה מתמשכת בשרת, לדוגמה:
{
"name": "operations/akmf.6573437d-47c1-42c4-b817-0562f514f6ff"
}כדי לבדוק את סטטוס הפעולה, משתמשים בשיטה operations.get עם הערך מהשדה name:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/operations/akmf.6573437d-47c1-42c4-b817-0562f514f6ff'
כדי לדגום פעולה ממושכת מסוימת, מומלץ להפעיל שוב ושוב את השיטה operations.get עם השהיה מומלצת לפני ניסיון חוזר (backoff) של 10 שניות, עד שהתגובה כוללת את "done": true:
{ "name": "operations/akmf.6573437d-47c1-42c4-b817-0562f514f6ff", "done": true, "response": { "@type": "type.googleapis.com/google.api.apikeys.v2.Key", "name": "projects/103621867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2", "keyString": "----REDACTED----", "createTime": "2019-02-04T23:56:28.531Z", "uid": "b7ff1f9f-8275-410a-94dd-3855ee9b5dd2", "updateTime": "2019-02-04T23:56:28.531Z", "restrictions": { "browserKeyRestrictions": { } }, "etag": "k0bsYGkIvSxDVwNxyw49NQ==" } }