멤버십 세부정보 보기

이 가이드에서는 Google Chat API의 Membership 리소스에서 get() 메서드를 사용하여 스페이스의 멤버십 세부정보를 가져오는 방법을 설명합니다.

Google Workspace 관리자는 get() 메서드를 호출하여 Google Workspace 조직의 멤버십에 관한 세부정보를 가져올 수 있습니다.

Membership 리소스는 실제 사용자 또는 Google Chat 앱이 스페이스에 초대되었는지, 스페이스의 일부인지 또는 스페이스에 없는지를 나타냅니다.

앱 인증으로 인증하면 Chat 앱이 Google Chat에서 액세스할 수 있는 스페이스 (예: 참여 중인 스페이스)에서 멤버십을 가져올 수 있지만 자체 멤버십은 제외됩니다. 사용자 인증으로 인증하면 인증된 사용자가 액세스할 수 있는 스페이스의 멤버십이 반환됩니다.

기본 요건

Node.js

Python

자바

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);
}

main().catch(console.error);

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()

자바

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의 ID입니다. ListSpaces() 메서드를 호출하거나 스페이스의 URL에서 ID를 가져올 수 있습니다.
  • MEMBER_NAME: 멤버의 name의 ID입니다. ListMemberships() 메서드를 호출하여 ID를 가져올 수 있습니다.

Chat 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);
}

main().catch(console.error);

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()

자바

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의 ID입니다. ListSpaces() 메서드를 호출하거나 스페이스의 URL에서 ID를 가져올 수 있습니다.
  • MEMBER_NAME: 구성원의 name의 ID입니다. ListMemberships() 메서드를 호출하여 ID를 가져올 수 있습니다.

Chat API는 지정된 멤버십을 자세히 설명하는 Membership의 인스턴스를 반환합니다.

Google Workspace 관리자의 멤버십에 대한 세부정보 알아보기

Google Workspace 관리자는 GetMembership() 메서드를 호출하여 Google Workspace 조직 내 모든 사용자의 멤버십 세부정보를 가져올 수 있습니다.

Google Workspace 관리자로서 이 메서드를 호출하려면 다음 단계를 따르세요.

  • 사용자 인증을 사용하여 메서드를 호출하고 관리자 권한을 사용하여 메서드 호출을 지원하는 승인 범위를 지정합니다.
  • 요청에서 쿼리 매개변수 useAdminAccesstrue로 지정합니다.

자세한 내용과 예시는 Google Workspace 관리자로 Google Chat 스페이스 관리하기를 참고하세요.