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

В этом руководстве объясняется, как использовать метод get ресурса ` Membership API Google Chat для получения подробной информации о членстве в пространстве.

Владельцы и управляющие помещениями могут ограничивать доступ к списку участников . Если видимость ограничена, вызовы этого метода, выполненные с использованием аутентификации приложения, возвращают только те данные о членстве, которые видны участникам помещения, и возвращают ошибку PERMISSION_DENIED для данных о членстве, которые не видны участникам помещения. Вызовы этого метода, выполненные с использованием аутентификации пользователя, возвращают ошибку PERMISSION_DENIED .

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

Ресурс Membership показывает, приглашен ли пользователь (человек или приложение Google Chat) в данное пространство, является ли он его частью или отсутствует.

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

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

Node.js

Python

Java

Apps Script

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

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

  • При аутентификации приложения укажите область авторизации chat.bot . При аутентификации пользователя укажите область авторизации chat.memberships.readonly или chat.memberships . Рекомендуется выбирать наиболее ограничительную область авторизации, которая при этом позволяет вашему приложению функционировать.
  • Вызовите метод GetMembership .
  • Передайте name членства для получения. Получите название членства из ресурса членства в Google Chat.

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

Вот как получить членство с аутентификацией пользователя :

Node.js

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

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

// This sample shows how to get membership 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 and MEMBER_NAME here
    name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
  };

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

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

await main();

Python

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

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

    # Initialize request argument(s)
    request = google_chat.GetMembershipRequest(
        # Replace SPACE_NAME and MEMBER_NAME here
        name = 'spaces/SPACE_NAME/members/MEMBER_NAME',
    )

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

    # Handle the response
    print(response)

get_membership_with_user_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/GetMembershipUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.GetMembershipRequest;
import com.google.chat.v1.Membership;

// This sample shows how to get membership with user credential.
public class GetMembershipUserCred {

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

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithUserCredentials(
          ImmutableList.of(SCOPE))) {
      GetMembershipRequest.Builder request = GetMembershipRequest.newBuilder()
        // replace SPACE_NAME and MEMBERSHIP_NAME here
        .setName("spaces/SPACE_NAME/members/MEMBERSHIP_NAME");
      Membership response = chatServiceClient.getMembership(request.build());

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

Apps Script

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

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

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

Для запуска этого примера замените следующее:

  • SPACE_NAME : идентификатор из name пространства. Вы можете получить идентификатор, вызвав метод ListSpaces или из URL-адреса пространства.
  • MEMBER_NAME : name участника. Получить идентификатор можно, вызвав метод ListMemberships .

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

Получите членство с аутентификацией через приложение.

Вот как получить членство с аутентификацией через приложение :

Node.js

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

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

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

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

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

await main();

Python

chat/client-libraries/cloud/get_membership_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 membership with app credential
def get_membership_with_app_cred():
    # Create a client
    client = create_client_with_app_credentials()

    # Initialize request argument(s)
    request = google_chat.GetMembershipRequest(
        # Replace SPACE_NAME and MEMBER_NAME here
        name = 'spaces/SPACE_NAME/members/MEMBER_NAME',
    )

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

    # Handle the response
    print(response)

get_membership_with_app_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/GetMembershipAppCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.GetMembershipRequest;
import com.google.chat.v1.Membership;

// This sample shows how to get membership with app credential.
public class GetMembershipAppCred {

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithAppCredentials()) {
      GetMembershipRequest.Builder request = GetMembershipRequest.newBuilder()
        // replace SPACE_NAME and MEMBERSHIP_NAME here
        .setName("spaces/SPACE_NAME/members/MEMBERSHIP_NAME");
      Membership response = chatServiceClient.getMembership(request.build());

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

Apps Script

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

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

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

Для запуска этого примера замените следующее:

  • SPACE_NAME : идентификатор из name пространства. Вы можете получить идентификатор, вызвав метод ListSpaces или из URL-адреса пространства.
  • MEMBER_NAME : name участника. Получить идентификатор можно, вызвав метод ListMemberships .

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

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

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

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

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