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