멤버십 세부정보 보기

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

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

Membership 리소스는 사람 사용자 또는 Google 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 스페이스 관리하기를 참고하세요.