Skip to content

Commit a55b088

Browse files
committed
feat: Add samples for Chat search messages API
1 parent 8a31678 commit a55b088

2 files changed

Lines changed: 82 additions & 0 deletions

File tree

advanced/chat.gs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff 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]

chat/advanced-service/Main.gs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)