במדריך הזה מוסבר איך להשתמש בשיטה 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
.