File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -120,3 +120,45 @@ function listMemberships(spaceName) {
120120 }
121121}
122122// [END chat_list_memberships]
123+
124+ // [START chat_search_messages]
125+ /**
126+ * Searches for unread messages for the caller user in all Chat spaces.
127+ */
128+ function searchMessages ( ) {
129+ let response ;
130+ let pageToken = null ;
131+ try {
132+ do {
133+ response = Chat . Spaces . Messages . search (
134+ {
135+ filter : 'is_unread()'
136+ } ,
137+ 'spaces/-' ,
138+ {
139+ pageSize : 10 ,
140+ pageToken : pageToken ,
141+ }
142+ ) ;
143+ if ( ! response . results || response . results . length === 0 ) {
144+ pageToken = response . nextPageToken ;
145+ continue ;
146+ }
147+ for ( const result of response . results ) {
148+ const message = result . message ;
149+ console . log (
150+ "**%s at %s in %s:**\n%s" ,
151+ message . sender . name ,
152+ message . createTime ,
153+ message . space . name ,
154+ message . text ,
155+ ) ;
156+ }
157+ pageToken = response . nextPageToken ;
158+ } while ( pageToken ) ;
159+ } catch ( err ) {
160+ // TODO (developer) - Handle exception
161+ console . log ( "Failed with error %s" , err . message ) ;
162+ }
163+ }
164+ // [END chat_search_messages]
Original file line number Diff line number Diff line change @@ -771,6 +771,46 @@ function listSpacesUserCred() {
771771}
772772// [END chat_list_spaces_user_cred]
773773
774+ // [START chat_search_messages_user_cred]
775+ /**
776+ * This sample shows how to search messages with user credential
777+ *
778+ * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.messages.readonly'
779+ * referenced in the manifest file (appsscript.json).
780+ */
781+ function searchMessagesUserCred ( ) {
782+ // Initialize request argument(s)
783+ // TODO(developer): Replace FILTER here with an actual filter query
784+ const filter = "FILTER" ;
785+ const parent = "spaces/-" ;
786+
787+ // Iterate through the response pages using page tokens
788+ let responsePage ;
789+ let pageToken = null ;
790+ do {
791+ // Request response pages
792+ responsePage = Chat . Spaces . Messages . search (
793+ {
794+ filter : filter ,
795+ } ,
796+ parent ,
797+ {
798+ pageSize : 10 ,
799+ pageToken : pageToken ,
800+ }
801+ ) ;
802+ // Handle response pages
803+ if ( responsePage . results ) {
804+ for ( const result of responsePage . results ) {
805+ console . log ( result ) ;
806+ }
807+ }
808+ // Update the page token to the next one
809+ pageToken = responsePage . nextPageToken ;
810+ } while ( pageToken ) ;
811+ }
812+ // [END chat_search_messages_user_cred]
813+
774814// [START chat_set_up_space_user_cred]
775815/**
776816 * This sample shows how to set up a named space with one initial member with
You can’t perform that action at this time.
0 commit comments