כדי להתחיל להטמיע את העדכונים בזמן אמת, תוכלו להוריד את לקוח ה-API של עדכוני Java בזמן אמת.
דרישה מוקדמת:
יוצרים את חשבון השירות ומורידים את המפתח הפרטי.
איך מתחילים:
- מורידים את ספריית הלקוח של Java, פותחים את הקובץ כדי לקבל את החבילה 'mapsbooking'.
-
יוצרים פרויקט Java בסביבת הפיתוח המשולבת (IDE), ומורידים את קודי הדוגמה InventoryUpdate.java ו-BookingNotification.java מהמאגר הזה:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
וייבאו אותם לפרויקט Java בתיקיית src.
- יוצרים עותק של המפתח הפרטי (קובץ JSON) בתיקיית src.
- מוסיפים את ספריית הלקוח של Java ליחסי התלות בפרויקט (כולל קובצי jar בתיקיות mapsbooking ו-libs-sources).
- בשני קובצי ה-Java, פועלים לפי ההוראות ב-TODO כדי להשלים את ההטמעות.
כאן תוכלו למצוא פרטים נוספים על ה-API ל-REST.
פתרון בעיות:
-
כשמנסים ליצור מוכר/שירות חדשים עם merchantId או serviceId קיימים, מופיעה הודעת השגיאה הבאה:
409 Conflict { “code” : 409, “errors” : [{ “domain” : “global”, “message” : “Requested entity already exists”, “reason” : “alreadyExists”, “debugInfo” : “detail: "[ORIGINAL ERROR] generic::already_exists: ...”\n" }], “message” : “Requested entity already exists”, “status” : “ALREADY_EXISTS” }
- כשמבצעים קריאה להחלפת זמינות עם merchantId או serviceId לא חוקיים, לא תופיע הודעת שגיאה. הסיבה לכך היא ששינויים בזמני הפרסום באמצעות RTU תומכים בהרצה מחוץ לסדר, ולכן הם לא משויכים למזהה מוכר או למזהה שירות. עם זאת, המיקומים בבקשה לא יוצגו בסביבת הייצור בגלל שה-merchantId או ה-serviceId לא תקינים. כדי שהמודעות יוצגו במודעות הווידאו, עליך להוסיף את המוכר או את השירות החסרים באמצעות יחידות RTU או פידים.
- בכל פונקציות העדכון, הפרמטר updateMask חייב להיות בפורמט FieldMask כדי לציין את השדות לעדכון. ה-API חייב לשנות רק את הערכים של השדות כפי שצוין במסכה, ולהשאיר את שאר השדות ללא שינוי. אם מעבירים את המחרוזת הלא נכונה של updateMask, העדכון לא ייכנס לתוקף. אם לא מצוין מסכת שדה בעדכון, הפעולה חלה על כל השדות (כאילו צוינה מסכת שדה של כל השדות). לכן, אם רוצים לעדכן את כל השדות, פשוט צריך להגדיר את updateMask כרייק.
- שדות עם ערך אפס לא מוצגים בתגובה.