Получить подробную информацию о пространстве

В этом руководстве объясняется, как использовать метод get() ресурса Space в Google Chat API, чтобы просмотреть подробную информацию о пространстве, такую ​​как его отображаемое имя, описание и правила.

Если вы являетесь администратором Google Workspace, вы можете вызвать метод get() для получения подробной информации о любом пространстве в вашей организации Google Workspace.

Ресурс Space представляет собой место, где люди и приложения для чата могут отправлять сообщения, обмениваться файлами и сотрудничать. Существует несколько типов пространств:

  • Личные сообщения (DM) — это переписка между двумя пользователями или между пользователем и приложением для чата.
  • Групповые чаты — это беседы между тремя или более пользователями в чат-приложениях.
  • Именованные пространства — это постоянно доступные места, где люди отправляют сообщения, обмениваются файлами и сотрудничают.

Аутентификация с помощью аутентификации приложения позволяет приложению чата получать информацию о пространстве, участником которого оно является. Аутентификация с помощью аутентификации пользователя позволяет получать доступ к пространствам, к которым имеет доступ авторизованный пользователь, будь то участник пространства или администратор Google Workspace .

Предварительные требования

Node.js

Python

Java

Apps Script

Найдите место

Чтобы получить место в чате Google, передайте в запросе следующее:

Получение информации о пространстве от имени пользователя.

Вот как получить подробную информацию о пространстве с помощью аутентификации пользователя :

Node.js

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

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

// This sample shows how to get space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(
    USER_AUTH_OAUTH_SCOPES,
  );

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    name: 'spaces/SPACE_NAME',
  };

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

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

await main();

Python

chat/client-libraries/cloud/get_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.readonly"]

# This sample shows how to get space with user credential
def get_space_with_user_cred():
    # Create a client
    client = create_client_with_user_credentials(SCOPES)

    # Initialize request argument(s)
    request = google_chat.GetSpaceRequest(
        # Replace SPACE_NAME here
        name = "spaces/SPACE_NAME",
    )

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

    # Handle the response
    print(response)

get_space_with_user_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/GetSpaceUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.GetSpaceRequest;
import com.google.chat.v1.Space;

// This sample shows how to get space with user credential.
public class GetSpaceUserCred {

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

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithUserCredentials(
          ImmutableList.of(SCOPE))) {
      GetSpaceRequest.Builder request = GetSpaceRequest.newBuilder()
        // Replace SPACE_NAME here
        .setName("spaces/SPACE_NAME");
      Space response = chatServiceClient.getSpace(request.build());

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

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to get space with user credential
 *
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.spaces.readonly'
 * referenced in the manifest file (appsscript.json).
 */
function getSpaceUserCred() {
  // Initialize request argument(s)
  // TODO(developer): Replace SPACE_NAME here
  const name = "spaces/SPACE_NAME";

  // Make the request
  const response = Chat.Spaces.get(name);

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

Для запуска этого примера замените SPACE_NAME на идентификатор из поля name пространства. Вы можете получить идентификатор, вызвав метод ListSpaces() или из URL-адреса пространства.

API чата возвращает экземпляр объекта Space , содержащий подробную информацию об указанном пространстве.

Получайте подробную информацию о пространстве в качестве администратора Google Workspace.

Если вы являетесь администратором Google Workspace, вы можете вызвать метод GetSpace , чтобы получить подробную информацию о любом пространстве в вашей организации Google Workspace.

Чтобы вызвать этот метод от имени администратора Google Workspace, выполните следующие действия:

Для получения дополнительной информации и примеров см. раздел «Управление пространствами Google Chat в качестве администратора Google Workspace» .

Получайте подробную информацию о помещении через приложение для чата.

Вот как получить подробную информацию о пространстве с помощью аутентификации приложения :

Node.js

chat/client-libraries/cloud/get-space-app-cred.js
import {createClientWithAppCredentials} from './authentication-utils.js';

// This sample shows how to get space with app credential
async function main() {
  // Create a client
  const chatClient = createClientWithAppCredentials();

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    name: 'spaces/SPACE_NAME',
  };

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

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

await main();

Python

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

# This sample shows how to get space with app credential
def get_space_with_app_cred():
    # Create a client
    client = create_client_with_app_credentials()

    # Initialize request argument(s)
    request = google_chat.GetSpaceRequest(
        # Replace SPACE_NAME here
        name = "spaces/SPACE_NAME",
    )

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

    # Handle the response
    print(response)

get_space_with_app_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/GetSpaceAppCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.GetSpaceRequest;
import com.google.chat.v1.Space;

// This sample shows how to get space with app credential.
public class GetSpaceAppCred {

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithAppCredentials()) {
      GetSpaceRequest.Builder request = GetSpaceRequest.newBuilder()
        // Replace SPACE_NAME here
        .setName("spaces/SPACE_NAME");
      Space response = chatServiceClient.getSpace(request.build());

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

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to get space with app credential
 *
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.bot'
 * used by service accounts.
 */
function getSpaceAppCred() {
  // Initialize request argument(s)
  // TODO(developer): Replace SPACE_NAME here
  const name = "spaces/SPACE_NAME";
  const parameters = {};

  // Make the request
  const response = Chat.Spaces.get(
    name,
    parameters,
    getHeaderWithAppCredentials(),
  );

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

Для запуска этого примера замените SPACE_NAME на идентификатор из поля name пространства. Вы можете получить идентификатор, вызвав метод ListSpaces() или из URL-адреса пространства.

API чата возвращает экземпляр объекта Space , содержащий подробную информацию об указанном пространстве.

Ограничения и соображения

  • Поля accessSettings , predefinedPermissionSettings и permissionSettings заполняются только при аутентификации с использованием области действия chat.app.spaces , а настройки разрешений ограничены пространствами, созданными приложением Chat.