במדריך הזה מוסבר איך להשתמש בשיטה update() במשאב SpaceReadState של Google Chat API כדי לסמן מרחבים כנקראים או כלא נקראים.
SpaceReadState המשאב הוא משאב יחיד שמייצג פרטים על ההודעה האחרונה שמשתמש מסוים קרא במרחב ב-Google Chat.
דרישות מוקדמות
Node.js
- חשבון Google Workspace במהדורת Business או Enterprise עם גישה ל-Google Chat.
- מגדירים את הסביבה:
- יוצרים פרויקט ב-Google Cloud.
- הגדרת מסך ההסכמה ל-OAuth.
- מפעילים ומגדירים את Google Chat API עם שם, סמל ותיאור לאפליקציית Chat.
- מתקינים את ספריית הלקוח של Cloud ל-Node.js.
-
יצירת פרטי כניסה של מזהה לקוח OAuth לאפליקציה למחשב. כדי להריץ את הדוגמה במדריך הזה, שומרים את פרטי הכניסה כקובץ JSON בשם
credentials.jsonבספרייה המקומית.
- בוחרים היקף הרשאה שתומך באימות משתמשים.
עדכון מצב הקריאה של המרחב של המשתמש המתקשר
כדי לעדכן את סטטוס הקריאה של משתמש במרחב, צריך לכלול את הפרטים הבאים בבקשה:
- מציינים את
chat.users.readstateהיקף ההרשאה. - מבצעים קריאה ל-method
UpdateSpaceReadState(). - מעבירים את הערך
lastReadTimeעם המאפייןupdateMask. - מעבירים את
spaceReadStateכמופע שלSpaceReadStateעם הפרטים הבאים:- השדה
nameמוגדר למצב הקריאה של המרחב שרוצים לעדכן, כולל מזהה משתמש או כינוי ומזהה מרחב. אפשר לעדכן את סטטוס הקריאה של המשתמש שמתקשר בלבד. כדי לעשות זאת, צריך להגדיר אחת מהאפשרויות הבאות:- הכינוי
me. לדוגמה,users/me/spaces/SPACE/spaceReadState. - כתובת האימייל של המשתמש ב-Workspace שמבצע את השיחה. לדוגמה,
users/user@example.com/spaces/SPACE/spaceReadState. - מזהה המשתמש של המשתמש המתקשר. לדוגמה,
users/USER/spaces/SPACE/spaceReadState.
- הכינוי
- השדה
lastReadTimeמוגדר לערך המעודכן של השעה שבה עודכן מצב הקריאה של המרחב של המשתמש. בדרך כלל זה תואם לחותמת הזמן של ההודעה האחרונה שנקראה, או לחותמת זמן שהמשתמש ציין כדי לסמן את המיקום האחרון שנקרא במרחב. אם הסמלlastReadTimeמופיע לפני הזמן שבו נוצרה ההודעה האחרונה, המרחב יופיע בממשק המשתמש כמרחב שלא נקרא. כדי לסמן את המרחב כ'נקרא', מגדירים אתlastReadTimeלערך כלשהו מאוחר יותר (גדול יותר) מזמן היצירה של ההודעה האחרונה. הערך שלlastReadTimeמשתנה בכוח כך שיתאים לזמן היצירה של ההודעה האחרונה. שימו לב שמצב הקריאה של המרחב משפיע רק על מצב הקריאה של ההודעות שגלויות בשיחה ברמה העליונה של המרחב. חותמת הזמן הזו לא משפיעה על תשובות בשרשורים, והן מסתמכות על מצב הקריאה של השרשור.
- השדה
בדוגמה הבאה מתבצע עדכון של מצב הקריאה במרחב של המשתמש המתקשר:
Node.js
כדי להריץ את הדוגמה הזו, מחליפים את SPACE_NAME במזהה מתוך name של המרחב.
אפשר לקבל את המזהה באמצעות הפעלת השיטה ListSpaces() או מכתובת ה-URL של המרחב.
ממשק Google Chat API מעדכן את מצב הקריאה של המרחב שצוין ומחזיר מופע של SpaceReadState.