मैसेज भेजना

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

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

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

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

जब कोई उपयोगकर्ता आपके 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 membership.
        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 ऐप्लिकेशन से इंटरैक्शन के इवेंट पाना और उनका जवाब देना लेख पढ़ें.

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

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

Node.js

node/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

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 फ़ील्ड के बारे में बताता हो. अगर थ्रेड को किसी व्यक्ति या किसी दूसरे Chat ऐप्लिकेशन ने बनाया है, तो आपको 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 ऐप्लिकेशन दिखाया गया है. इसमें ऐक्सेसरी विजेट के साथ एक मैसेज जोड़ा गया है, ताकि उपयोगकर्ता 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 फ़ील्ड डालना होता है. सिर्फ़ Chat ऐप्लिकेशन ही निजी मैसेज भेज सकते हैं. एसिंक्रोनस रूप से निजी मैसेज भेजने के लिए, आपको ऐप्लिकेशन ऑथेंटिकेशन का इस्तेमाल करना होगा.

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

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

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

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