मैसेज भेजना

इस गाइड में उन अलग-अलग तरीकों के बारे में बताया गया है जिनसे Google Chat ऐप्लिकेशन मैसेज भेज सकते हैं:

  • उपयोगकर्ता के इंटरैक्शन का जवाब देकर, रीयल टाइम में टेक्स्ट और कार्ड मैसेज भेजें.
  • Message संसाधन पर create तरीके को कॉल करके, एसिंक्रोनस तरीके से टेक्स्ट और कार्ड मैसेज भेजें.
  • मैसेज थ्रेड शुरू करें या उसका जवाब दें.
  • मैसेज भेजें और उसे नाम दें.

Message संसाधन, Google Chat में टेक्स्ट या कार्ड मैसेज को दिखाता है. Google Chat API में, इनसे जुड़े तरीकों को कॉल करके create, get, update या delete मैसेज भेजे जा सकते हैं. मैसेज और कार्ड मैसेज के बारे में ज़्यादा जानने के लिए, Google Chat मैसेज की खास जानकारी देखें.

मैसेज का साइज़ ज़्यादा से ज़्यादा 32,000 बाइट होना चाहिए. इसमें कोई भी टेक्स्ट या कार्ड शामिल है. अगर किसी मैसेज का साइज़ इससे बड़ा है, तो Chat ऐप्लिकेशन एक से ज़्यादा मैसेज भेज सकता है.

Google Chat API, एसिंक्रोनस तरीके से टेक्स्ट या कार्ड मैसेज भेजने के लिए, Google Chat API के Message संसाधन पर create तरीके का इस्तेमाल करने के बजाय, रीयल टाइम में उपयोगकर्ता के इंटरैक्शन का जवाब देने के लिए मैसेज भी बना सकता है. उपयोगकर्ता के इंटरैक्शन के जवाबों के लिए पुष्टि करने की ज़रूरत नहीं होती. इसके लिए, इंटरैक्टिव डायलॉग और लिंक की झलक के साथ-साथ, दूसरी तरह के मैसेज भी दिखते हैं. ज़्यादा जानकारी के लिए, Google Chat ऐप्लिकेशन से होने वाली बातचीत पाना और उनका जवाब देना देखें.

ज़रूरी शर्तें

Node.js

Python

  • आपके पास Google Workspace खाता हो, जिसमें Google Chat का ऐक्सेस हो.
  • Python 3.6 या इससे नया वर्शन
  • pip पैकेज मैनेजमेंट टूल
  • Python के लिए, Google की नई क्लाइंट लाइब्रेरी. इन्हें इंस्टॉल या अपडेट करने के लिए, अपने कमांड-लाइन इंटरफ़ेस में इस कमांड को चलाएं:

    pip3 install --upgrade google-api-python-client google-auth
    
  • ऐसा Google Cloud प्रोजेक्ट जिसमें Google Chat API चालू हो और उसे कॉन्फ़िगर किया गया हो. इसका तरीका जानने के लिए, Google Chat ऐप्लिकेशन बनाना देखें.
  • एसिंक्रोनस मैसेज भेजने के लिए Chat ऐप्लिकेशन को अनुमति देने की सेटिंग कॉन्फ़िगर की गई. रीयल टाइम में मैसेज भेजने के लिए, अनुमति देने वाले किसी कॉन्फ़िगरेशन की ज़रूरत नहीं होती.

Apps Script

  • आपके पास Google Workspace खाता हो, जिसमें Google Chat का ऐक्सेस हो.
  • पब्लिश किया गया Chat ऐप्लिकेशन. Chat ऐप्लिकेशन बनाने के लिए, इस quickstart को फ़ॉलो करें.
  • एसिंक्रोनस मैसेज भेजने के लिए Chat ऐप्लिकेशन को अनुमति देने की सेटिंग कॉन्फ़िगर की गई. रीयल टाइम में मैसेज भेजने के लिए, अनुमति देने वाले किसी कॉन्फ़िगरेशन की ज़रूरत नहीं होती.

मैसेज भेजना

इस सेक्शन में बताया गया है कि मैसेज भेजने के लिए नीचे दिए दो तरीके कैसे इस्तेमाल करें:

  • उपयोगकर्ता के इंटरैक्शन का जवाब देकर, रीयल टाइम में मैसेज भेजें.
  • Google Chat API को एसिंक्रोनस तरीके से कॉल करके मैसेज भेजें.

रीयल टाइम में मैसेज भेजना

उदाहरण के लिए, जब भी Chat ऐप्लिकेशन को स्पेस में जोड़ा जाता है, तो वह टेक्स्ट मैसेज बनाता और भेजता है. उपयोगकर्ताओं को शामिल करने के सबसे सही तरीकों के बारे में जानने के लिए, लोगों और स्पेस में शामिल होने की प्रक्रिया शुरू करना लेख पढ़ें.

जब कोई उपयोगकर्ता आपके Chat ऐप्लिकेशन को स्पेस में जोड़ता है, तो आपको मैसेज भेजने के लिए Chat ऐप्लिकेशन, ADDED_TO_SPACE इंटरैक्शन इवेंट का जवाब देता है. मैसेज से ADDED_TO_SPACE इंटरैक्शन इवेंट का जवाब देने के लिए, इस कोड का इस्तेमाल करें:

Node.js

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    res.send(
      'Hello! This function is meant to be used in a Google Chat space.');
  }

  // Send an onboarding message when added to a Chat space
  if (req.body.type === 'ADDED_TO_SPACE') {
    res.json({
      'text': 'Hi, Cymbal at your service. I help you manage your calendar
      from Google Chat. Take a look at your schedule today by typing
      `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
      learn what else I can do, type `/help`.'
    });
  }
};

Apps Script

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
function onAddToSpace(event) {

  return {
    'text': 'Hi, Cymbal at your service. I help you manage your calendar
    from Google Chat. Take a look at your schedule today by typing
    `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
    what else I can do, type `/help`.'
  }
}

कोड सैंपल, नीचे दिया गया टेक्स्ट मैसेज दिखाता है:

शामिल होने के मैसेज का उदाहरण.

एसिंक्रोनस रूप से लेख संदेश भेजें

नीचे दिए गए सेक्शन में, ऐप्लिकेशन की पुष्टि करने और उपयोगकर्ता की पुष्टि करने की सुविधा के साथ, एसिंक्रोनस तरीके से मैसेज भेजने का तरीका बताया गया है.

मैसेज भेजने के लिए, अपने अनुरोध में यह जानकारी दें:

  • ऐप्लिकेशन की पुष्टि करने की सुविधा के साथ, chat.bot की अनुमति का दायरा तय करें. उपयोगकर्ता की पुष्टि करने की सुविधा का इस्तेमाल करके, chat.messages.create की अनुमति के दायरे की जानकारी दें.
  • Message संसाधन पर create तरीके को कॉल करें.

ऐप्लिकेशन की पुष्टि करने के लिए मैसेज भेजें

यहां ऐप्लिकेशन की पुष्टि करने की सुविधा के साथ मैसेज भेजने का तरीका बताया गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_create_text_message_app.py नाम की फ़ाइल बनाएं.
  2. chat_create_text_message_app.py में यह कोड शामिल करें:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # The message to create.
        body={'text': 'Hello, world!'}
    
    ).execute()
    
    print(result)
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे Chat API में spaces.list() तरीके या स्पेस के यूआरएल से ऐक्सेस किया जा सकता है.

  4. अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और चलाएं:

    python3 chat_create_text_message_app.py
    

Chat API, Message का एक इंस्टेंस दिखाता है, जिसमें भेजे गए मैसेज की जानकारी होती है.

उपयोगकर्ता की पुष्टि करने के साथ मैसेज भेजें

यहां बताया गया है कि उपयोगकर्ता की पुष्टि की मदद से मैसेज कैसे भेजें:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_create_text_message_user.py नाम की फ़ाइल बनाएं.
  2. chat_create_text_message_user.py में यह कोड शामिल करें:

    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.messages.create"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then creates a text message in a Chat space.
        '''
    
        # Start with no credentials.
        creds = None
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                        'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().messages().create(
    
            # The space to create the message in.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            parent='spaces/SPACE',
    
            # The message to create.
            body={'text': 'Hello, world!'}
    
        ).execute()
    
        # Prints details about the created message.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे Chat API में spaces.list() तरीके या स्पेस के यूआरएल से ऐक्सेस किया जा सकता है.

  4. अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और चलाएं:

    python3 chat_create_text_message_user.py
    

Chat API, Message का एक इंस्टेंस दिखाता है, जिसमें भेजे गए मैसेज की जानकारी होती है.

कार्ड मैसेज भेजें

इस सेक्शन में, कार्ड मैसेज भेजने के इन दो तरीकों के बारे में बताया गया है:

  • उपयोगकर्ता के इंटरैक्शन का जवाब देकर, रीयल टाइम में कार्ड मैसेज भेजें.
  • Google Chat API को एसिंक्रोनस तरीके से कॉल करके कार्ड मैसेज भेजें.

रीयल टाइम में कार्ड मैसेज भेजें

चैट ऐप्लिकेशन, उपयोगकर्ता के इंटरैक्शन का जवाब देने के लिए कार्ड मैसेज बना सकते हैं. जैसे, जब कोई उपयोगकर्ता Chat ऐप्लिकेशन को मैसेज भेजता है या उसे स्पेस में जोड़ता है. लोगों के इंटरैक्शन का जवाब देने के बारे में ज़्यादा जानने के लिए, चैट ऐप्लिकेशन इंटरैक्शन इवेंट पाना और उनका जवाब देना लेख पढ़ें.

उदाहरण के लिए, कोई उपयोगकर्ता किसी चैट ऐप्लिकेशन को मैसेज भेजता है और चैट ऐप्लिकेशन, कार्ड मैसेज भेजकर जवाब देता है. इसमें उपयोगकर्ता का नाम और अवतार इमेज दिखती है:

Chat ऐप्लिकेशन, जिसमें मैसेज भेजने वाले का डिसप्ले नेम और अवतार की इमेज वाला कार्ड दिख रहा है.

Node.js

नोड/avatar-app/index.js
/**
 * Google Cloud Function that responds to messages sent from a
 * Google Chat room.
 *
 * @param {Object} req Request sent from Google Chat room
 * @param {Object} res Response to send back
 */
exports.helloChat = function helloChat(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    res.send('Hello! This function is meant to be used in a Google Chat ' +
      'Room.');
  }

  const sender = req.body.message.sender.displayName;
  const image = req.body.message.sender.avatarUrl;

  const data = createMessage(sender, image);

  res.send(data);
};

/**
 * Creates a card with two widgets.
 * @param {string} displayName the sender's display name
 * @param {string} imageUrl the URL for the sender's avatar
 * @return {Object} a card with the user's avatar.
 */
function createMessage(displayName, imageUrl) {
  const cardHeader = {
    title: `Hello ${displayName}!`,
  };

  const avatarWidget = {
    textParagraph: {text: 'Your avatar picture: '},
  };

  const avatarImageWidget = {
    image: {imageUrl},
  };

  const avatarSection = {
    widgets: [
      avatarWidget,
      avatarImageWidget,
    ],
  };

  return {
    text: 'Here\'s your avatar',
    cardsV2: [{
      cardId: 'avatarCard',
      card: {
        name: 'Avatar Card',
        header: cardHeader,
        sections: [avatarSection],
      }
    }],
  };
}

Python

python/avatar-app/main.py
from typing import Any, Mapping

import flask
import functions_framework


# Google Cloud Function that responds to messages sent in
# Google Chat.
#
# @param {Object} req Request sent from Google Chat.
# @param {Object} res Response to send back.
@functions_framework.http
def hello_chat(req: flask.Request) -> Mapping[str, Any]:
  if req.method == "GET":
    return "Hello! This function must be called from Google Chat."

  request_json = req.get_json(silent=True)

  display_name = request_json["message"]["sender"]["displayName"]
  avatar = request_json["message"]["sender"]["avatarUrl"]

  response = create_message(name=display_name, image_url=avatar)

  return response


# Creates a card with two widgets.
# @param {string} name the sender's display name.
# @param {string} image_url the URL for the sender's avatar.
# @return {Object} a card with the user's avatar.
def create_message(name: str, image_url: str) -> Mapping[str, Any]:
  avatar_image_widget = {"image": {"imageUrl": image_url}}
  avatar_text_widget = {"textParagraph": {"text": "Your avatar picture:"}}
  avatar_section = {"widgets": [avatar_text_widget, avatar_image_widget]}

  header = {"title": f"Hello {name}!"}

  cards = {
      "text": "Here's your avatar",
      "cardsV2": [
          {
              "cardId": "avatarCard",
              "card": {
                  "name": "Avatar Card",
                  "header": header,
                  "sections": [avatar_section],
              },
          }
      ]
  }

  return cards

Apps Script

यह उदाहरण कार्ड JSON लौटाकर कार्ड मैसेज भेजता है. Apps Script कार्ड सेवा का इस्तेमाल भी किया जा सकता है.

apps-script/avatar-app/hello-chat.gs
/**
 * Responds to a MESSAGE event in Google Chat.
 *
 * @param {Object} event the event object from Google Chat
 */
function onMessage(event) {
  const displayName = event.message.sender.displayName;
  const avatarUrl = event.message.sender.avatarUrl;

  return createMessage(displayName, avatarUrl);
}

/**
 * Creates a card with two widgets.
 * @param {string} displayName the sender's display name
 * @param {string} avatarUrl the URL for the sender's avatar
 * @return {Object} a card with the sender's avatar.
 */
function createMessage(displayName, avatarUrl) {
  const cardHeader = {
    title: `Hello ${displayName}!`
  };

  const avatarWidget = {
    textParagraph: {text: 'Your avatar picture: '}
  };

  const avatarImageWidget = {
    image: {imageUrl: avatarUrl}
  };

  const avatarSection = {
    widgets: [
      avatarWidget,
      avatarImageWidget
    ],
  };

  return {
    text: 'Here\'s your avatar',
    cardsV2: [{
      cardId: 'avatarCard',
      card: {
        name: 'Avatar Card',
        header: cardHeader,
        sections: [avatarSection],
      }
    }],
  };
}

एसिंक्रोनस रूप से कार्ड मैसेज भेजें

कार्ड मैसेज भेजने के लिए, अपने अनुरोध में यह जानकारी पास करें:

  • ऐप्लिकेशन की पुष्टि करने की सुविधा के साथ, chat.bot की अनुमति का दायरा तय करें. उपयोगकर्ता की पुष्टि करने वाला कार्ड मैसेज नहीं भेजा जा सकता.
  • Message संसाधन पर create तरीके को कॉल करें.

कार्ड मैसेज का एक उदाहरण यहां दिया गया है:

Chat API से भेजा गया कार्ड मैसेज.

ऐप्लिकेशन की पुष्टि करने के साथ कार्ड मैसेज भेजने का तरीका यहां बताया गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_create_card_message.py नाम की फ़ाइल बनाएं.
  2. chat_create_card_message.py में यह कोड शामिल करें:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # The message to create.
        body=
        {
          'cardsV2': [{
            'cardId': 'createCardMessage',
            'card': {
              'header': {
                'title': 'A card message!',
                'subtitle': 'Created with the Chat API',
                'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
                'imageType': 'CIRCLE'
              },
              'sections': [
                {
                  'widgets': [
                    {
                      'buttonList': {
                        'buttons': [
                          {
                            'text': 'Read the docs!',
                            'onClick': {
                              'openLink': {
                                'url': 'https://developers.google.com/chat'
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              ]
            }
          }]
        }
    
    ).execute()
    
    print(result)
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे Chat API में spaces.list तरीके या स्पेस के यूआरएल से ऐक्सेस किया जा सकता है.

  4. अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और चलाएं:

    python3 chat_create_card_message.py
    

मैसेज थ्रेड शुरू करें या उसका जवाब दें

मैसेज थ्रेड शुरू करने के लिए, मैसेज भेजें और thread.name खाली छोड़ दें. थ्रेड बनाते समय, Google Chat में यह जानकारी अपने-आप भर जाती है. अगर आपको थ्रेड का नाम अपनी पसंद के मुताबिक बनाना है, तो thread.threadKey फ़ील्ड में जानकारी डालें.

किसी मैसेज थ्रेड का जवाब देने के लिए, ऐसा मैसेज भेजें जो थ्रेड के threadKey या name फ़ील्ड के बारे में बताता हो. अगर थ्रेड को किसी व्यक्ति या किसी दूसरे चैट ऐप्लिकेशन ने बनाया है, तो आपको thread.name फ़ील्ड का इस्तेमाल करना होगा.

अगर कोई मिलता-जुलता थ्रेड नहीं मिलता है, तो messageReplyOption फ़ील्ड को सेट करके यह तय किया जा सकता है कि मैसेज को नया थ्रेड शुरू करना चाहिए या उसे पोस्ट नहीं करना चाहिए.

अगर messageReplyOption सेट है, तो आपको thread.name या thread.threadKey को भी सेट करना होगा.

nameOfThread के तौर पर threadKey फ़ील्ड वाली थ्रेड शुरू करने या उसका जवाब देने का तरीका यहां बताया गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_create_message_thread.py नाम की फ़ाइल बनाएं.
  2. chat_create_message_thread.py में यह कोड शामिल करें:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # Whether to start a thread or reply to an existing one.
        #
        # Required when threading is enabled in a space unless starting a
        # thread.  Ignored in other space types. Threading is enabled when
        # space.spaceThreadingState is THREADED_MESSAGES.
        #
        # REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD replies to an existing thread
        # if one exists, otherwise it starts a new one.
        messageReplyOption='REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD',
    
        # The message body.
        body={
    
            # The message to create.
            'text': 'Start or reply to another message in a thread!',
    
            # The thread to start or reply to.
            'thread': {
                'threadKey': 'nameOfThread'
            }
        }
    
    ).execute()
    
    print(result)
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे Chat API में spaces.list तरीके या स्पेस के यूआरएल से ऐक्सेस किया जा सकता है.

  4. अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और चलाएं:

    python3 chat_create_message_thread.py
    

Chat API, Message का एक इंस्टेंस दिखाता है, जिसमें भेजे गए मैसेज की जानकारी होती है.

मैसेज को नाम देना

इस सेक्शन में बताया गया है कि मैसेज के लिए कस्टम आईडी सेट करके, मैसेज को कैसे नाम दिया जाता है. मैसेज पाने, अपडेट करने या मिटाने के लिए, कस्टम आईडी का इस्तेमाल किया जा सकता है. कस्टम आईडी की मदद से, मैसेज तय किया जा सकता है. इसके लिए, मैसेज के रिसॉर्स नाम (name फ़ील्ड में दिखाया गया) से, सिस्टम से असाइन किए गए आईडी को सेव करने की ज़रूरत नहीं होती है. जब मैसेज बनाया जाता है, तो रिसॉर्स का नाम जवाब के मुख्य हिस्से में जनरेट होता है.

उदाहरण के लिए, get() तरीके का इस्तेमाल करके किसी मैसेज को वापस लाने के लिए, रिसॉर्स का नाम इस्तेमाल करके यह तय किया जाता है कि किस मैसेज को वापस लाना है. संसाधन के नाम को spaces/{space}/messages/{message} के तौर पर फ़ॉर्मैट किया जाता है, जहां {message} सिस्टम से असाइन किया गया आईडी दिखाता है. अगर आपने मैसेज को नाम दिया है, तो {message} की वैल्यू को कस्टम आईडी से बदला जा सकता है.

किसी मैसेज को नाम देने के लिए, मैसेज बनाते समय messageId फ़ील्ड में कस्टम आईडी डालें. messageId फ़ील्ड, Message संसाधन के clientAssignedMessageId फ़ील्ड के लिए वैल्यू सेट करता है.

मैसेज बनाने के बाद ही उसे नाम दिया जा सकता है. मौजूदा मैसेज के कस्टम आईडी को न तो नाम दिया जा सकता है और न ही उसमें बदलाव किया जा सकता है. कस्टम आईडी, इन ज़रूरी शर्तों के मुताबिक होना चाहिए:

  • client- से शुरू होता है. उदाहरण के लिए, client-custom-name एक मान्य कस्टम आईडी है, लेकिन custom-name एक मान्य कस्टम आईडी नहीं है.
  • इसमें ज़्यादा से ज़्यादा 63 वर्ण होने चाहिए और सिर्फ़ अंग्रेज़ी के छोटे अक्षर, नंबर, और हाइफ़न शामिल होने चाहिए.
  • हर स्पेस का यूनीक स्पेस होता है. Chat ऐप्लिकेशन, अलग-अलग मैसेज के लिए एक ही कस्टम आईडी का इस्तेमाल नहीं कर सकता.

कस्टम आईडी से मैसेज भेजने का तरीका यहां बताया गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_create_named_message.py नाम की फ़ाइल बनाएं.
  2. chat_create_named_message.py में यह कोड शामिल करें:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message with a custom name.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # Custom name for the message used to facilitate later operations.
        messageId='client-NAME',
    
        # The message to create.
        body={'text': 'Hello, world!'}
    
    ).execute()
    
    print(result)
    
  3. कोड में, इन्हें बदलें:

    • SPACE: उस स्पेस का आईडी जहां आपको मैसेज पोस्ट करना है. यह आईडी, Chat API में spaces.list तरीके या स्पेस के यूआरएल से लिया जा सकता है.
    • NAME: मैसेज के लिए पसंद के मुताबिक नाम.
  4. अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और चलाएं:

    python3 chat_create_named_message.py
    

Chat API, Message का इंस्टेंस दिखाता है.

मैसेज के निचले हिस्से में इंटरैक्टिव विजेट जोड़ें

इसके अलावा, ऐक्सेसरी विजेट के साथ मैसेज जोड़े जा सकते हैं. ऐक्सेसरी विजेट, मैसेज में मौजूद किसी टेक्स्ट या कार्ड के बाद दिखते हैं. इन विजेट का इस्तेमाल करके, उपयोगकर्ताओं को अपने मैसेज के साथ इंटरैक्ट करने का प्रॉम्प्ट कई तरीकों से दिया जा सकता है. इनमें ये तरीके शामिल हैं:

  • बताएं कि कोई मैसेज कितना सटीक या सही है.
  • मैसेज या Chat ऐप्लिकेशन से जुड़ी समस्या की शिकायत करें.
  • मिलते-जुलते कॉन्टेंट, जैसे कि दस्तावेज़ का लिंक खोलें.
  • चुनिंदा समयावधि के लिए, Chat ऐप्लिकेशन से इस तरह के मैसेज खारिज करें या स्नूज़ करें.

ऐक्सेसरी विजेट जोड़ने के लिए, मैसेज में accessoryWidgets[] ऑब्जेक्ट शामिल करें. साथ ही, शामिल किए जाने वाले एक या उससे ज़्यादा AccessoryWidgets ऑब्जेक्ट की जानकारी दें. स्पेस में शामिल सभी लोगों को मैसेज दिखना चाहिए (निजी मैसेज में ऐक्सेसरी विजेट नहीं जोड़े जा सकते).

नीचे दी गई इमेज में एक ऐसा Chat ऐप्लिकेशन दिखाया गया है जिसमें ऐक्सेसरी विजेट के साथ एक टेक्स्ट मैसेज जोड़ा गया है, ताकि लोग चैट ऐप्लिकेशन के साथ अपने अनुभव को रेटिंग दे सकें.

ऐक्सेसरी विजेट के उदाहरण

नीचे दिया गया कोड सैंपल, इस मैसेज के लिए JSON दिखाता है. जब कोई उपयोगकर्ता किसी एक बटन पर क्लिक करता है, तब इंटरैक्शन उससे जुड़ा फ़ंक्शन (जैसे कि doUpvote) ट्रिगर करता है जो रेटिंग को प्रोसेस करता है.


 "text": "Rate your experience with this Chat app.",
 "accessoryWidgets": [
   {
     "buttonList": {
       "buttons": [
         {
           "icon": {
             "material_icon": {
               "name": "thumb_up"
             }
           },
           "color": {
             "red": 0,
             "blue": 255,
             "green": 0
           },
           "onClick": {
             "action": {
               "function": "doUpvote",
             }
           }
         },
         {
           "icon": {
             "material_icon": {
               "name": "thumb_down"
             }
           },
           "color": {
             "red": 0,
             "blue": 255,
             "green": 0
           },
           "onClick": {
             "action": {
               "function": "doDownvote",
             }
           }
         }
       ]
     }
   }
 ]

निजी तौर पर मैसेज भेजें

चैट ऐप्लिकेशन निजी तौर पर टेक्स्ट और कार्ड मैसेज भेज सकते हैं, ताकि मैसेज, स्पेस में सिर्फ़ एक उपयोगकर्ता को दिखे. किसी मैसेज को निजी तौर पर भेजने के लिए, आपको मैसेज में privateMessageViewer फ़ील्ड भरना होता है. सिर्फ़ चैट ऐप्लिकेशन निजी मैसेज भेज सकते हैं. एसिंक्रोनस तरीके से निजी मैसेज भेजने के लिए, आपको ऐप्लिकेशन की पुष्टि करने की सुविधा का इस्तेमाल करना होगा.

ज़्यादा जानकारी के लिए, Google Chat के उपयोगकर्ताओं को निजी मैसेज भेजना लेख पढ़ें.

समस्या हल करें

जब Google Chat ऐप्लिकेशन या कार्ड की ओर से गड़बड़ी का मैसेज मिलता है, तो Chat के इंटरफ़ेस पर "कोई गड़बड़ी हुई" मैसेज दिखता है. या "आपका अनुरोध प्रोसेस नहीं किया जा सका." कभी-कभी चैट के यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का कोई मैसेज नहीं दिखता, लेकिन Chat ऐप्लिकेशन या कार्ड अचानक कोई ऐसा नतीजा देता है जिसकी उम्मीद नहीं थी. उदाहरण के लिए, हो सकता है कि कार्ड का मैसेज न दिखे.

हालांकि, हो सकता है कि Chat के यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का मैसेज न दिखे. हालांकि, चैट ऐप्लिकेशन के लिए गड़बड़ी लॉग करने की सुविधा चालू होने पर, गड़बड़ी के मैसेज और लॉग डेटा की मदद से गड़बड़ियों को ठीक किया जा सकता है. गड़बड़ियों को देखने, डीबग करने, और ठीक करने में मदद के लिए, Google Chat की गड़बड़ियों को ठीक करना और समस्या हल करना देखें.