یک فضای چت Google ایجاد کنید و اعضا اضافه کنید

این راهنما نحوه استفاده از متد setUp() روی منبع Space از API چت گوگل را برای ایجاد یک فضای چت و افزودن اعضا به آن توضیح می‌دهد.

منبع Space مکانی را نشان می‌دهد که افراد و برنامه‌های چت می‌توانند در آن پیام ارسال کنند، فایل‌ها را به اشتراک بگذارند و با یکدیگر همکاری کنند. چندین نوع Space وجود دارد:

  • پیام‌های مستقیم (DM) مکالماتی بین دو کاربر یا یک کاربر و یک برنامه چت هستند.
  • چت‌های گروهی، مکالماتی بین سه یا چند کاربر و برنامه‌های چت هستند.
  • فضاهای نامگذاری شده مکان‌های پایداری هستند که افراد در آنها پیام می‌فرستند، فایل‌ها را به اشتراک می‌گذارند و با یکدیگر همکاری می‌کنند.

شما می‌توانید از متد setUp() برای انجام هر یک از موارد زیر استفاده کنید:

  • یک فضای نامگذاری شده با اعضای اولیه ایجاد کنید.
  • یک پیام مستقیم (DM) بین دو نفر ایجاد کنید.
  • یک پیام گروهی بین چندین نفر تنظیم کنید.

هنگام تنظیم فضا، موارد زیر را در نظر بگیرید:

  • کاربر فراخوانی‌کننده (احراز هویت‌شده) به‌طور خودکار به فضا اضافه می‌شود، بنابراین نیازی نیست عضویت کاربر را در درخواست مشخص کنید.
  • هنگام ایجاد یک پیام مستقیم (DM)، اگر یک DM بین دو کاربر وجود داشته باشد، DM برگردانده می‌شود. در غیر این صورت، یک DM ایجاد می‌شود.
  • هنگام ایجاد یک چت گروهی، اگر هیچ یک از عضویت‌های ارائه شده در درخواست با موفقیت به چت گروهی اضافه نشوند (برای مثال، مشکل مجوز)، ممکن است یک چت گروهی خالی (شامل فقط کاربر تماس گیرنده) ایجاد شود.
  • شما نمی‌توانید فضاهایی با پاسخ‌های رشته‌ای تنظیم کنید یا افرادی را خارج از سازمان Google Workspace خود اضافه کنید.
  • عضویت‌های تکراری (از جمله کاربر فراخوانی‌کننده) که در درخواست ارائه شده‌اند، به جای اینکه منجر به خطای درخواست شوند، فیلتر می‌شوند.
  • وقتی یک مدیر Google Workspace یک برنامه چت برای کل سازمان Google Workspace خود نصب می‌کند ، Google Chat یک DM بین برنامه چت نصب شده و هر کاربر در سازمان ایجاد می‌کند، بنابراین نیازی به تنظیم DMها به صورت برنامه‌نویسی نیست. در عوض، می‌توانید فضاها را برای بازگرداندن همه DMها فهرست کنید یا یک پیام مستقیم برای دریافت جزئیات مربوط به یک DM خاص پیدا کنید .

پیش‌نیازها

نود جی اس

پایتون

جاوا

اسکریپت برنامه‌ها

یک فضا تنظیم کنید

برای تنظیم یک فضا، موارد زیر را در درخواست خود ارسال کنید:

  • دامنه مجوز chat.spaces.create یا chat.spaces را مشخص کنید.
  • متد SetUpSpace() را فراخوانی کنید.
  • space به عنوان نمونه‌ای از Space به همراه تمام فیلدهای لازم مانند displayName یا spaceType ارسال کنید.
  • memberships به صورت آرایه‌ای از نمونه‌های Membership ارسال کنید. برای هر نمونه:
    • برای اضافه کردن یک کاربر انسانی به عنوان عضو space، users/{user} ‎ استفاده کنید، که در آن {user} ‎ یا {person_id} ‎ برای person از People API‎ است، یا ‎ID‎ یک user در Directory API‎. برای مثال، اگر ‎person resourceName ‎ در ‎People API‎ برابر people/123456789 ‎ باشد، می‌توانید با اضافه کردن عضویت users/123456789 ‎ به عنوان member.name ‎، کاربر را به space اضافه کنید.
    • برای افزودن یک گروه به عنوان عضو فضا، groups/{group} مشخص کنید، که در آن {group} شناسه گروهی است که می‌خواهید برای آن عضویت ایجاد کنید. شناسه گروه را می‌توان با استفاده از Cloud Identity API بازیابی کرد. برای مثال، اگر Cloud Identity API گروهی با نام groups/123456789 را برمی‌گرداند، membership.groupMember.name را روی groups/123456789 تنظیم کنید. گروه‌های گوگل را نمی‌توان به یک چت گروهی یا دایرکت دایرکت اضافه کرد، بلکه فقط می‌توان آنها را به یک فضای نامگذاری شده اضافه کرد.

برای ایجاد یک DM بین کاربر فراخوانی کننده و یک کاربر انسانی دیگر، عضویت کاربر انسانی را در درخواست خود مشخص کنید.

برای ایجاد یک DM بین کاربر فراخوانی‌کننده و برنامه فراخوانی‌کننده، space.singleUserBotDm را روی true تنظیم کنید و هیچ عضویتی را مشخص نکنید. شما فقط می‌توانید از این روش برای تنظیم یک DM با برنامه فراخوانی‌کننده استفاده کنید. برای افزودن برنامه فراخوانی‌کننده به عنوان عضوی از یک space یا یک DM موجود بین دو کاربر انسانی، به create a membership مراجعه کنید.

مثال زیر یک فضای نامگذاری شده ایجاد می‌کند و یک عضویت در آن فضا برای دو کاربر انسانی (کاربر احراز هویت شده و یک کاربر دیگر) ایجاد می‌کند.

نود جی اس

chat/client-libraries/cloud/set-up-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = [
  'https://www.googleapis.com/auth/chat.spaces.create',
];

// This sample shows how to set up a named space with one initial member
// with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(
    USER_AUTH_OAUTH_SCOPES,
  );

  // Initialize request argument(s)
  const request = {
    space: {
      spaceType: 'SPACE',
      // Replace DISPLAY_NAME here.
      displayName: 'DISPLAY_NAME',
    },
    memberships: [
      {
        member: {
          // Replace USER_NAME here.
          name: 'users/USER_NAME',
          type: 'HUMAN',
        },
      },
    ],
  };

  // Make the request
  const response = await chatClient.setUpSpace(request);

  // Handle the response
  console.log(response);
}

await main();

پایتون

chat/client-libraries/cloud/set_up_space_user_cred.py
from authentication_utils import create_client_with_user_credentials
from google.apps import chat_v1 as google_chat

SCOPES = ["https://www.googleapis.com/auth/chat.spaces.create"]

def set_up_space_with_user_cred():
    # Create a client
    client = create_client_with_user_credentials(SCOPES)

    # Initialize request argument(s)
    request = google_chat.SetUpSpaceRequest(
        space = {
            "space_type": 'SPACE',
            # Replace DISPLAY_NAME here.
            "display_name": 'DISPLAY_NAME'
        },
        memberships = [{
            "member": {
                # Replace USER_NAME here.
                "name": 'users/USER_NAME',
                "type_": 'HUMAN'
            }
        }]
    )

    # Make the request
    response = client.set_up_space(request)

    # Handle the response
    print(response)

set_up_space_with_user_cred()

جاوا

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/SetUpSpaceUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.Membership;
import com.google.chat.v1.SetUpSpaceRequest;
import com.google.chat.v1.Space;
import com.google.chat.v1.User;

// This sample shows how to set up a named space with one initial member with
// user credential.
public class SetUpSpaceUserCred {

  private static final String SCOPE =
    "https://www.googleapis.com/auth/chat.spaces.create";

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithUserCredentials(
          ImmutableList.of(SCOPE))) {
      SetUpSpaceRequest.Builder request = SetUpSpaceRequest.newBuilder()
        .setSpace(Space.newBuilder()
          .setSpaceType(Space.SpaceType.SPACE)
          // Replace DISPLAY_NAME here.
          .setDisplayName("DISPLAY_NAME"))
        .addAllMemberships(ImmutableList.of(Membership.newBuilder()
          .setMember(User.newBuilder()
            // Replace USER_NAME here.
            .setName("users/USER_NAME")
            .setType(User.Type.HUMAN)).build()));
      Space response = chatServiceClient.setUpSpace(request.build());

      System.out.println(JsonFormat.printer().print(response));
    }
  }
}

اسکریپت برنامه‌ها

chat/advanced-service/Main.gs
/**
 * This sample shows how to set up a named space with one initial member with
 * user credential.
 *
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.spaces.create'
 * referenced in the manifest file (appsscript.json).
 */
function setUpSpaceUserCred() {
  // Initialize request argument(s)
  const space = {
    spaceType: "SPACE",
    // TODO(developer): Replace DISPLAY_NAME here
    displayName: "DISPLAY_NAME",
  };
  const memberships = [
    {
      member: {
        // TODO(developer): Replace USER_NAME here
        name: "users/USER_NAME",
        // User type for the membership
        type: "HUMAN",
      },
    },
  ];

  // Make the request
  const response = Chat.Spaces.setup({
    space: space,
    memberships: memberships,
  });

  // Handle the response
  console.log(response);
}

برای اجرای نمونه، موارد زیر را جایگزین کنید:

  • DISPLAY_NAME : نام نمایشی فضای جدید.
  • USER_NAME : شناسه کاربر دیگری که عضویت او لحاظ می‌شود.

برای رفتن به فضا، از شناسه منبع فضا برای ساخت URL فضا استفاده کنید. می‌توانید شناسه منبع را از name فضا در بدنه پاسخ Google Chat دریافت کنید. برای مثال، اگر name فضای شما spaces/1234567 باشد، می‌توانید با استفاده از URL زیر به فضا بروید: https://mail.google.com/chat/u/0/#chat/space/1234567 .