इस दस्तावेज़ में, Google Chat API के Message संसाधन पर मौजूद search तरीके का इस्तेमाल करने का तरीका बताया गया है. इस तरीके का इस्तेमाल करके, उन मैसेज को खोजा जा सकता है जिन्हें पुष्टि किए गए उपयोगकर्ता ने ऐक्सेस किया है.
उपयोगकर्ता की पुष्टि करने की सुविधा की मदद से, उपयोगकर्ता की उन सभी बातचीत में मैसेज खोजे जा सकते हैं जिनमें वह शामिल है. इसके अलावा, किसी खास बातचीत में भी मैसेज खोजे जा सकते हैं. उदाहरण के लिए, ऐसे मैसेज खोजे जा सकते हैं जिनमें कोई खास कीवर्ड शामिल हो, उपयोगकर्ता का नाम लिखा हो, जिन्हें पढ़ा न गया हो या जिनमें अटैचमेंट शामिल हों.
Chat API में, Chat मैसेज को Message रिसॉर्स के तौर पर दिखाया जाता है.
Chat के उपयोगकर्ता सिर्फ़ टेक्स्ट वाले मैसेज भेज सकते हैं. हालांकि, Chat ऐप्लिकेशन मैसेज भेजने से जुड़ी कई अन्य सुविधाओं का इस्तेमाल कर सकते हैं. जैसे, स्टैटिक या इंटरैक्टिव यूज़र इंटरफ़ेस दिखाना, उपयोगकर्ताओं से जानकारी इकट्ठा करना, और निजी तौर पर मैसेज भेजना. Chat API के लिए उपलब्ध मैसेज भेजने की सुविधाओं के बारे में ज़्यादा जानने के लिए, Google Chat में मैसेज भेजने की सुविधा के बारे में खास जानकारी देखें.
ज़रूरी शर्तें
Node.js
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है.
- अपने Chat ऐप्लिकेशन के लिए, Google Chat API चालू करें और उसे कॉन्फ़िगर करें. इसके लिए, Chat ऐप्लिकेशन का नाम, आइकॉन, और जानकारी दें.
- Node.js Cloud Client Library इंस्टॉल करें.
- ऑथराइज़ेशन स्कोप चुनें.
- Google Chat स्पेस. Google Chat API का इस्तेमाल करके स्पेस बनाने के लिए, स्पेस बनाना लेख पढ़ें. Chat में कोई टास्क बनाने के लिए, सहायता केंद्र पर मौजूद दस्तावेज़ पढ़ें.
Python
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है.
- अपने Chat ऐप्लिकेशन के लिए, Google Chat API चालू करें और उसे कॉन्फ़िगर करें. इसके लिए, Chat ऐप्लिकेशन का नाम, आइकॉन, और जानकारी दें.
- Python Cloud Client Library इंस्टॉल करें.
- ऑथराइज़ेशन स्कोप चुनें.
- Google Chat स्पेस. Google Chat API का इस्तेमाल करके स्पेस बनाने के लिए, स्पेस बनाना लेख पढ़ें. Chat में कोई टास्क बनाने के लिए, सहायता केंद्र पर मौजूद दस्तावेज़ पढ़ें.
Java
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है.
- अपने Chat ऐप्लिकेशन के लिए, Google Chat API चालू करें और उसे कॉन्फ़िगर करें. इसके लिए, Chat ऐप्लिकेशन का नाम, आइकॉन, और जानकारी दें.
- Java Cloud Client Library इंस्टॉल करें.
- ऑथराइज़ेशन स्कोप चुनें.
- Google Chat स्पेस. Google Chat API का इस्तेमाल करके स्पेस बनाने के लिए, स्पेस बनाना लेख पढ़ें. Chat में कोई टास्क बनाने के लिए, सहायता केंद्र पर मौजूद दस्तावेज़ पढ़ें.
Apps Script
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है.
- अपने Chat ऐप्लिकेशन के लिए, Google Chat API चालू करें और उसे कॉन्फ़िगर करें. इसके लिए, Chat ऐप्लिकेशन का नाम, आइकॉन, और जानकारी दें.
- Apps Script का स्टैंडअलोन प्रोजेक्ट बनाएं और ऐडवांस चैट सेवा चालू करें.
- ऑथराइज़ेशन स्कोप चुनें.
- Google Chat स्पेस. Google Chat API का इस्तेमाल करके स्पेस बनाने के लिए, स्पेस बनाना लेख पढ़ें. Chat में कोई टास्क बनाने के लिए, सहायता केंद्र पर मौजूद दस्तावेज़ पढ़ें.
संदेश खोजें
उपयोगकर्ता की पुष्टि वाले मैसेज खोजने के लिए, अपने अनुरोध में यह जानकारी शामिल करें:
chat.messages.readonlyयाchat.messagesऑथराइज़ेशन स्कोप के बारे में बताएं.SearchMessagesतरीके को कॉल करें.उपयोगकर्ता जिन स्पेस का सदस्य है उनमें खोजने के लिए,
parentकोspaces/-पर सेट करें. कोई दूसरी वैल्यू इस्तेमाल करने पर गड़बड़ी होती है.filterफ़ील्ड में, खोज क्वेरी स्ट्रिंग डालें. क्वेरी में कीवर्ड और फ़िल्टर शामिल किए जा सकते हैं.
नीचे दिए गए कोड के उदाहरण में, "tasks" कीवर्ड वाले नहीं पढ़े गए मैसेज खोजे गए हैं:
Node.js
/**
* Searches for messages in Google Chat.
* @param {string} filter The search query.
*/
async function searchMessages(filter) {
const {ChatServiceClient} = require('@google-apps/chat').v1;
// Instantiates a client
const chatClient = new ChatServiceClient();
// See https://github.com/googleworkspace/node-samples/blob/main/chat/client-libraries/cloud/authentication-utils.js
// for an example of how to authenticate the request.
// Construct request
const request = {
// Parent must be "spaces/-" to search across all spaces.
parent: 'spaces/-',
filter: filter,
};
// Run request
const iterable = await chatClient.searchMessagesAsync(request);
for await (const response of iterable) {
console.log(response);
}
}
searchMessages('tasks AND is_unread()');
Python
from google.apps import chat_v1
def search_messages(filter_str: str):
"""
Searches for messages in Google Chat.
Args:
filter_str: The search query.
"""
# Create a client
client = chat_v1.ChatServiceClient()
# See https://github.com/googleworkspace/python-samples/blob/main/chat/client-libraries/cloud/authentication_utils.py
# for an example of how to authenticate the request.
# Initialize request argument
request = chat_v1.SearchMessagesRequest(
# Parent must be "spaces/-" to search across all spaces.
parent="spaces/-",
filter=filter_str
)
# Make the request
page_result = client.search_messages(request=request)
# Handle the response
for response in page_result:
print(response)
search_messages('tasks AND is_unread()')
Java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.SearchMessageResult;
import com.google.chat.v1.SearchMessagesRequest;
public class SearchMessages {
public static void main(String[] args) throws Exception {
searchMessages("tasks AND is_unread()");
}
/**
* Searches for messages in Google Chat.
*
* @param filter The search query.
*/
public static void searchMessages(String filter) throws Exception {
// See https://github.com/googleworkspace/java-samples/blob/main/chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/AuthenticationUtils.java
// for an example of how to authenticate the request.
try (ChatServiceClient chatServiceClient = ChatServiceClient.create()) {
SearchMessagesRequest request =
SearchMessagesRequest.newBuilder()
.setParent("spaces/-")
.setFilter(filter)
.build();
for (SearchMessageResult result : chatServiceClient.searchMessages(request).iterateAll()) {
System.out.println(result.getMessage().getText());
}
}
}
}
Apps Script
javascript
/**
* Searches for messages in Google Chat.
*/
function searchMessages() {
const filter = 'tasks AND is_unread()';
const url = 'https://chat.googleapis.com/v1/spaces/-/messages:search';
const request_payload = {
filter: filter
};
try {
const response = UrlFetchApp.fetch(url, {
method: 'post',
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
},
contentType: 'application/json',
payload: JSON.stringify(request_payload)
});
if (response.results) {
for (const result of response.results) {
console.log('Message text: %s', result.message.text);
}
} else {
console.log('No messages found.');
}
} catch (err) {
console.log('Failed to search messages with error: %s', err.message);
}
}
सर्च फ़िल्टर और ऑपरेटर इस्तेमाल करना
filter फ़ील्ड में कीवर्ड, फ़ील्ड, और फ़ंक्शन का इस्तेमाल करके, खोज के नतीजों को बेहतर बनाया जा सकता है. ज़्यादा जानकारी के लिए, SearchMessagesRequest देखें.
कीवर्ड से खोजें
किसी खास टेक्स्ट वाले मैसेज खोजने के लिए, कीवर्ड डालें. उदाहरण के लिए, जिन रिपोर्ट को अभी तक प्रोसेस नहीं किया गया है उन्हें खोजने के लिए, pending reports का इस्तेमाल करें.
फ़ील्ड के हिसाब से खोजना
मैसेज या स्पेस के किसी फ़ील्ड के हिसाब से, नतीजों को फ़िल्टर किया जा सकता है. उदाहरण के लिए:
create_time: मैसेज बनाए जाने के समय के हिसाब से फ़िल्टर करें. उदाहरण:create_time > "2023-01-01T00:00:00Z"sender.name: ईमेल भेजने वाले के संसाधन के नाम के हिसाब से फ़िल्टर करें. उदाहरण:sender.name = "users/1234567890"space.name: खोज को किसी खास स्पेस तक सीमित करें. उदाहरण:space.name = "spaces/ABCDEFGH"space.display_name: स्पेस को उनके डिसप्ले नेम के कुछ हिस्से के आधार पर फ़िल्टर करें. नतीजे में, सबसे ज़्यादा मिलते-जुलते पांच स्पेस दिखते हैं. उदाहरण:space.display_name:Projectattachment: अटैचमेंट की मौजूदगी की जांच करें. उदाहरण:attachment:*annotations.user_mentions.user.name: मेंशन के हिसाब से फ़िल्टर करें. उदाहरण:annotations.user_mentions.user.name:"users/me"
फ़ंक्शन का इस्तेमाल करके खोजना
ऐडवांस फ़िल्टर करने की सुविधा, इन फ़ंक्शन के ज़रिए उपलब्ध है:
has_link: यह फ़िल्टर, ऐसे मैसेज दिखाता है जिनमें कम से कम एक हाइपरलिंक मौजूद है.is_unread: इससे ऐसे मैसेज दिखते हैं जिन्हें उपयोगकर्ता ने नहीं पढ़ा है.
अलग-अलग फ़ील्ड में, सिर्फ़ AND ऑपरेटर इस्तेमाल किए जा सकते हैं. उदाहरण के लिए:
sender.name = "users/me" AND is_unread().
मिलते-जुलते विषय
- मैसेज को फ़ॉर्मैट करना.
- मैसेज मिटाना.
- किसी मैसेज के बारे में जानकारी पाना.
- किसी स्पेस में मौजूद मैसेज की सूची बनाना.
- मैसेज अपडेट करना.
- मैसेज भेजें.