इस गाइड में, Google Chat API का इस्तेमाल करके, किसी उपयोगकर्ता की उपलब्धता का स्टेटस और कस्टम स्टेटस मैनेज करने का तरीका बताया गया है.
Chat के किसी उपयोगकर्ता की उपलब्धता की जानकारी पढ़ने और उसे अपडेट करने के लिए, आपके ऐप्लिकेशन को उपयोगकर्ता की पुष्टि के ज़रिए पुष्टि करनी होगी. सिर्फ़ पुष्टि किए गए उपयोगकर्ता की उपलब्धता को ऐक्सेस या उसमें बदलाव किया जा सकता है.
ज़रूरी शर्तें
Node.js
- Google Workspace का Business या Enterprise खाता, जिसके पास Google Chat का ऐक्सेस हो.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth को सहमति दी जाती है.
- Google Chat API को चालू करें और कॉन्फ़िगर करें. साथ ही, अपने Chat ऐप्लिकेशन के लिए नाम, आइकॉन, और जानकारी दें.
- Node.js Cloud Client Library इंस्टॉल करें.
- डेस्कटॉप ऐप्लिकेशन के लिए,
OAuth क्लाइंट आईडी क्रेडेंशियल बनाएं. इस गाइड में दिए गए सैंपल को चलाने के लिए, क्रेडेंशियल को अपनी लोकल डायरेक्ट्री में
credentials.jsonनाम की JSON फ़ाइल के तौर पर सेव करें.
- अनुमति पाने का ऐसा लिंक चुनें जो उपयोगकर्ता की पुष्टि की सुविधा देता हो.
Python
- Google Workspace का Business या Enterprise खाता, जिसके पास Google Chat का ऐक्सेस हो.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth को सहमति दी जाती है.
- Google Chat API को चालू करें और कॉन्फ़िगर करें. साथ ही, अपने Chat ऐप्लिकेशन के लिए नाम, आइकॉन, और जानकारी दें.
- Python Cloud Client Library इंस्टॉल करें.
- डेस्कटॉप ऐप्लिकेशन के लिए,
OAuth क्लाइंट आईडी क्रेडेंशियल बनाएं. इस गाइड में दिए गए सैंपल को चलाने के लिए, क्रेडेंशियल को अपनी लोकल डायरेक्ट्री में
credentials.jsonनाम की JSON फ़ाइल के तौर पर सेव करें.
- अनुमति पाने का ऐसा लिंक चुनें जो उपयोगकर्ता की पुष्टि की सुविधा देता हो.
Java
- Google Workspace का Business या Enterprise खाता, जिसके पास Google Chat का ऐक्सेस हो.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth को सहमति दी जाती है.
- Google Chat API को चालू करें और कॉन्फ़िगर करें. साथ ही, अपने Chat ऐप्लिकेशन के लिए नाम, आइकॉन, और जानकारी दें.
- Java के लिए Cloud Client Library इंस्टॉल करें.
- डेस्कटॉप ऐप्लिकेशन के लिए,
OAuth क्लाइंट आईडी क्रेडेंशियल बनाएं. इस गाइड में दिए गए सैंपल को चलाने के लिए, क्रेडेंशियल को अपनी लोकल डायरेक्ट्री में
credentials.jsonनाम की JSON फ़ाइल के तौर पर सेव करें.
- अनुमति पाने का ऐसा लिंक चुनें जो उपयोगकर्ता की पुष्टि की सुविधा देता हो.
Apps Script
- Google Workspace का Business या Enterprise खाता, जिसके पास Google Chat का ऐक्सेस हो.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth को सहमति दी जाती है.
- Google Chat API को चालू करें और कॉन्फ़िगर करें. साथ ही, अपने Chat ऐप्लिकेशन के लिए नाम, आइकॉन, और जानकारी दें.
- Apps Script का कोई अलग प्रोजेक्ट बनाएं, और बेहतर चैट सेवा चालू करें.
- अनुमति पाने का ऐसा लिंक चुनें जो उपयोगकर्ता की पुष्टि की सुविधा देता हो.
किसी उपयोगकर्ता की उपलब्धता की जानकारी पाना
Google Chat के किसी उपयोगकर्ता की उपलब्धता की जानकारी पढ़ने के लिए, अपने अनुरोध में यह जानकारी शामिल करें:
- अनुमति पाने के लिए,
chat.users.availability.readonlyयाchat.users.availabilityलिंक तय करें. - तरीके को कॉल करें.
GetAvailability - उस उपलब्धता के संसाधन का
nameपास करें जिसे वापस पाना है. नाम का फ़ॉर्मैटusers/{user}/availabilityहोना चाहिए. कॉल करने वाले व्यक्ति की पहचान करने के लिए, उसके ईमेल पते याmeएलियास का इस्तेमाल किया जा सकता है. उदाहरण के लिए,users/me/availability.
किसी उपयोगकर्ता की उपलब्धता की जानकारी पाने का तरीका यहां बताया गया है:
Node.js
const { ChatServiceClient } = require('@google-apps/chat').v1;
// Instantiates a client
const chatServiceClient = new ChatServiceClient();
async function getAvailability() {
const request = {
// The name of the availability resource to retrieve.
// Format: users/{user}/availability
// The 'me' alias can be used to refer to the calling user.
name: 'users/me/availability',
};
try {
const response = await chatServiceClient.getAvailability(request);
console.log(response);
} catch (err) {
console.error('Error retrieving availability:', err);
}
}
getAvailability();
Python
from google.apps import chat_v1 as google_chat
def get_availability():
# Instantiates a client
client = google_chat.ChatServiceClient()
# Prepare request
request = google_chat.GetAvailabilityRequest(
# Format: users/{user}/availability
# The 'me' alias refers to the calling user.
name="users/me/availability",
)
# Call the API
try:
response = client.get_availability(request=request)
print(response)
except Exception as e:
print(f"Error retrieving availability: {e}")
get_availability()
Java
import com.google.chat.v1.Availability;
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.GetAvailabilityRequest;
public class GetAvailability {
public static void main(String[] args) throws Exception {
// Instantiates a client
try (ChatServiceClient chatServiceClient = ChatServiceClient.create()) {
GetAvailabilityRequest request = GetAvailabilityRequest.newBuilder()
// Format: users/{user}/availability
// The 'me' alias refers to the calling user.
.setName("users/me/availability")
.build();
Availability response = chatServiceClient.getAvailability(request);
System.out.println(response);
}
}
}
Apps Script
/**
* Retrieves the calling user's availability details.
*/
function getUserAvailability() {
const name = 'users/me/availability';
try {
const availability = Chat.Users.Availability.get(name);
console.log(availability);
} catch (err) {
console.error('Failed to get availability: ' + err.message);
}
}
Chat API,
Availability
का एक इंस्टेंस दिखाता है. इसमें उपयोगकर्ता की मौजूदगी का स्टेटस और कस्टम स्टेटस की जानकारी होती है.
कस्टम स्टेटस को अपडेट करना
किसी उपयोगकर्ता का कस्टम स्टेटस अपडेट करने के लिए, अपने अनुरोध में यह जानकारी शामिल करें:
- अनुमति पाने के लिए,
chat.users.availabilityलिंक तय करें. - तरीके को कॉल करें.
UpdateAvailability Availabilityसंसाधन पास करें. इसमेंcustomStatusकी नई जानकारी तय करें.update_maskपैरामीटर सेट करें, ताकि उसमेंcustom_statusफ़ील्ड शामिल हो.
किसी उपयोगकर्ता का कस्टम स्टेटस अपडेट करने का तरीका यहां बताया गया है:
Node.js
const { ChatServiceClient } = require('@google-apps/chat').v1;
// Instantiates a client
const chatServiceClient = new ChatServiceClient();
async function updateCustomStatus() {
const request = {
// The Availability resource to update.
availability: {
name: 'users/me/availability',
customStatus: {
text: 'In a meeting',
emoji: {
unicode: '📅'
}
}
},
// The fields to update. Must contain 'custom_status'.
updateMask: {
paths: ['custom_status']
}
};
try {
const response = await chatServiceClient.updateAvailability(request);
console.log(response);
} catch (err) {
console.error('Error updating status:', err);
}
}
updateCustomStatus();
Python
from google.apps import chat_v1 as google_chat
from google.protobuf import field_mask_pb2
def update_custom_status():
# Instantiates a client
client = google_chat.ChatServiceClient()
# Define custom status and emoji
custom_status = google_chat.CustomStatus(
text="In a meeting",
emoji=google_chat.Emoji(unicode="📅")
)
# Initialize availability object
availability = google_chat.Availability(
name="users/me/availability",
custom_status=custom_status
)
# Specify update mask
update_mask = field_mask_pb2.FieldMask(paths=["custom_status"])
# Prepare request
request = google_chat.UpdateAvailabilityRequest(
availability=availability,
update_mask=update_mask
)
# Call the API
try:
response = client.update_availability(request=request)
print(response)
except Exception as e:
print(f"Error updating status: {e}")
update_custom_status()
Java
import com.google.chat.v1.Availability;
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.CustomStatus;
import com.google.chat.v1.Emoji;
import com.google.chat.v1.UpdateAvailabilityRequest;
import com.google.protobuf.FieldMask;
public class UpdateCustomStatus {
public static void main(String[] args) throws Exception {
// Instantiates a client
try (ChatServiceClient chatServiceClient = ChatServiceClient.create()) {
CustomStatus customStatus = CustomStatus.newBuilder()
.setText("In a meeting")
.setEmoji(Emoji.newBuilder().setUnicode("📅"))
.build();
Availability availability = Availability.newBuilder()
.setName("users/me/availability")
.setCustomStatus(customStatus)
.build();
FieldMask updateMask = FieldMask.newBuilder()
.addPaths("custom_status")
.build();
UpdateAvailabilityRequest request = UpdateAvailabilityRequest.newBuilder()
.setAvailability(availability)
.setUpdateMask(updateMask)
.build();
Availability response = chatServiceClient.updateAvailability(request);
System.out.println(response);
}
}
}
Apps Script
/**
* Updates the calling user's custom status message.
*/
function updateCustomStatus() {
const name = 'users/me/availability';
const availability = {
customStatus: {
text: 'In a meeting',
emoji: {
unicode: '📅'
}
}
};
const updateMask = 'custom_status';
try {
const response = Chat.Users.Availability.patch(availability, name, {
updateMask: updateMask
});
console.log(response);
} catch (err) {
console.error('Failed to update status: ' + err.message);
}
}
Chat API, नए कस्टम स्टेटस के साथ
Availability
का एक इंस्टेंस अपडेट करता है और उसे दिखाता है.
किसी उपयोगकर्ता का कस्टम स्टेटस हटाने के लिए, उपलब्धता को अपडेट करें और customStatus की जानकारी शामिल न करें.
मौजूदगी का स्टेटस अपडेट करना
मौजूदगी के टारगेट स्टेटस के हिसाब से, उपयोगकर्ता की उपलब्धता को अपडेट किया जा सकता है. इसके लिए, इनमें से किसी एक कस्टम तरीके को कॉल करें:
- चालू है: मौजूदगी को 'चालू है' पर सेट करने के लिए,
MarkAsActiveतरीके को कॉल करें. समयसीमा खत्म होने की वैकल्पिक वैल्यू (ttlयाexpireTime) दी जा सकती हैं. - ऑनलाइन नहीं है: मौजूदगी को 'ऑनलाइन नहीं है' पर सेट करने के लिए,
MarkAsAwayतरीके को कॉल करें. - परेशान न करें: सूचनाएं म्यूट करने के लिए,
MarkAsDoNotDisturbतरीके को कॉल करें.
फ़ील्ड की जानकारी और क्वेरी टेंप्लेट वगैरह के बारे में जानने के लिए, हर तरीके की रेफ़रंस गाइड देखें.
किसी इवेंट से, उपलब्धता में हुए बदलावों की पहचान करना
आपका Chat ऐप्लिकेशन, google.workspace.chat.availability.v1.updated इवेंट की सदस्यता ले सकता है. इससे, उपयोगकर्ता की उपलब्धता में बदलाव होने पर सूचनाएं मिलती हैं. उपलब्धता अपडेट होने पर, ऐप्लिकेशन को एक इवेंट मिलता है. इसके पेलोड में Availability संसाधन होता है.
मिलते-जुलते विषय
- Google Chat उपयोगकर्ताओं की पहचान करना और उन्हें तय करना.
- Google Chat के इवेंट की सदस्यता लेना.