बेहतर चैट सेवा

बेहतर Chat सेवा आपको Apps Script में Google Chat API का इस्तेमाल करने की सुविधा देती है. यह एपीआई, स्क्रिप्ट को चैट स्पेस ढूंढने, बनाने, और उनमें बदलाव करने की अनुमति देता है. साथ ही, स्क्रिप्ट को स्पेस में सदस्यों को जोड़ने या हटाने के साथ-साथ टेक्स्ट, कार्ड, अटैचमेंट, और प्रतिक्रियाओं वाले मैसेज पढ़ने या पोस्ट करने की सुविधा भी देता है.

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

रेफ़रंस

इस सेवा के बारे में ज़्यादा जानकारी के लिए, Chat API के रेफ़रंस के लिए दस्तावेज़ देखें. Apps Script की सभी बेहतर सेवाओं की तरह, चैट सेवा उन ही ऑब्जेक्ट, तरीकों, और पैरामीटर का इस्तेमाल करती है जिनका इस्तेमाल सार्वजनिक एपीआई में किया जाता है.

नमूना कोड

इन नमूनों में आपको बेहतर सेवा का इस्तेमाल करके Google Chat API से जुड़ी सामान्य कार्रवाइयों को करने का तरीका बताया गया है.

उपयोगकर्ता के क्रेडेंशियल के साथ मैसेज पोस्ट करें

नीचे दिए गए उदाहरण में, उपयोगकर्ता की ओर से चैट स्पेस में मैसेज पोस्ट करने का तरीका बताया गया है.

  1. Apps Script प्रोजेक्ट की appsscript.json फ़ाइल में, chat.messages.create अनुमति का स्कोप जोड़ें:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.messages.create"
    ]
    
  2. Apps Script प्रोजेक्ट के कोड में, इस तरह का कोई फ़ंक्शन जोड़ें:

    /**
     * Posts a new message to the specified space on behalf of the user.
     * @param {string} spaceName The resource name of the space.
     */
    function postMessageWithUserCredentials(spaceName) {
      try {
        const message = {'text': 'Hello world!'};
        Chat.Spaces.Messages.create(message, spaceName);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to create message with error %s', err.message);
      }
    }

ऐप्लिकेशन क्रेडेंशियल के साथ मैसेज पोस्ट करें

नीचे दिए गए उदाहरण में, ऐप्लिकेशन की ओर से चैट स्पेस में मैसेज पोस्ट करने का तरीका बताया गया है. सेवा खाते के साथ बेहतर चैट सेवा का इस्तेमाल करने के लिए, आपको appsscript.json में अनुमति देने के दायरे तय करने की ज़रूरत नहीं है. सेवा खातों से पुष्टि करने के बारे में ज़्यादा जानने के लिए, Google Chat ऐप्लिकेशन के तौर पर पुष्टि करें देखें.

/**
 * Posts a new message to the specified space on behalf of the app.
 * @param {string} spaceName The resource name of the space.
 */
function postMessageWithAppCredentials(spaceName) {
  try {
    // See https://developers.google.com/chat/api/guides/auth/service-accounts
    // for details on how to obtain a service account OAuth token.
    const appToken = getToken_();
    const message = {'text': 'Hello world!'};
    Chat.Spaces.Messages.create(
        message,
        spaceName,
        {},
        // Authenticate with the service account token.
        {'Authorization': 'Bearer ' + appToken});
  } catch (err) {
    // TODO (developer) - Handle exception
    console.log('Failed to create message with error %s', err.message);
  }
}

कोई स्पेस खरीदें

नीचे दिए गए उदाहरण में, चैट स्पेस के बारे में जानकारी पाने का तरीका बताया गया है.

  1. Apps Script प्रोजेक्ट की appsscript.json फ़ाइल में, chat.spaces.readonly अनुमति का स्कोप जोड़ें:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.spaces.readonly"
    ]
    
  2. Apps Script प्रोजेक्ट के कोड में, इस तरह का कोई फ़ंक्शन जोड़ें:

    /**
     * Gets information about a Chat space.
     * @param {string} spaceName The resource name of the space.
     */
    function getSpace(spaceName) {
      try {
        const space = Chat.Spaces.get(spaceName);
        console.log('Space display name: %s', space.displayName);
        console.log('Space type: %s', space.spaceType);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to get space with error %s', err.message);
      }
    }

कोई स्पेस बनाएं

नीचे दिए गए उदाहरण में चैट स्पेस बनाने का तरीका बताया गया है.

  1. Apps Script प्रोजेक्ट की appsscript.json फ़ाइल में, chat.spaces.create अनुमति का स्कोप जोड़ें:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.spaces.create"
    ]
    
  2. Apps Script प्रोजेक्ट के कोड में, इस तरह का कोई फ़ंक्शन जोड़ें:

    /**
     * Creates a new Chat space.
     */
    function createSpace() {
      try {
        const space = {'displayName': 'New Space', 'spaceType': 'SPACE'};
        Chat.Spaces.create(space);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to create space with error %s', err.message);
      }
    }

सदस्यताओं की सूची बनाएं

नीचे दिए गए उदाहरण में, चैट स्पेस के सभी सदस्यों की सूची बनाने का तरीका बताया गया है.

  1. Apps Script प्रोजेक्ट की appsscript.json फ़ाइल में, chat.memberships.readonly अनुमति का स्कोप जोड़ें:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.memberships.readonly"
    ]
    
  2. Apps Script प्रोजेक्ट के कोड में, इस तरह का कोई फ़ंक्शन जोड़ें:

    /**
     * Lists all the members of a Chat space.
     * @param {string} spaceName The resource name of the space.
     */
    function listMemberships(spaceName) {
      let response;
      let pageToken = null;
      try {
        do {
          response = Chat.Spaces.Members.list(spaceName, {
            pageSize: 10,
            pageToken: pageToken
          });
          if (!response.memberships || response.memberships.length === 0) {
            pageToken = response.nextPageToken;
            continue;
          }
          response.memberships.forEach((membership) => console.log(
              'Member resource name: %s (type: %s)',
              membership.name,
              membership.member.type));
          pageToken = response.nextPageToken;
        } while (pageToken);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed with error %s', err.message);
      }
    }

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

अगर आपको Error 400: invalid_scope गड़बड़ी के मैसेज Some requested scopes cannot be shown के साथ दिखता है, तो इसका मतलब है कि आपने Apps Script प्रोजेक्ट की appsscript.json फ़ाइल में, अनुमति देने का कोई स्कोप नहीं दिया है. ज़्यादातर मामलों में, Apps Script अपने-आप ही यह तय कर लेता है कि स्क्रिप्ट के लिए कौनसा स्कोप ज़रूरी है. हालांकि, Chat की बेहतर सेवा का इस्तेमाल करते समय, आपको अनुमति के उन दायरों को मैन्युअल तरीके से जोड़ना होगा जिनका इस्तेमाल आपकी स्क्रिप्ट, Apps Script प्रोजेक्ट की मेनिफ़ेस्ट फ़ाइल में करती है. साफ़ तौर पर जानकारी देने वाले स्कोप सेट करना देखें.

गड़बड़ी को ठीक करने के लिए, Apps Script प्रोजेक्ट की appsscript.json फ़ाइल में, अनुमति देने के सही दायरे जोड़ें. ये दायरे oauthScopes कलेक्शन में हैं. उदाहरण के लिए, spaces.messages.create तरीके को कॉल करने के लिए, यह तरीका जोड़ें:

"oauthScopes": [
  "https://www.googleapis.com/auth/chat.messages.create"
]

सीमाएं और ध्यान देने वाली बातें

बेहतर चैट सेवा का इस्तेमाल इन कामों के साथ नहीं किया जा सकता:

मैसेज अटैचमेंट डाउनलोड करने या डेवलपर प्रीव्यू के तरीके को कॉल करने के लिए, UrlFetchApp का इस्तेमाल करें.