Mendapatkan detail tentang langganan

Panduan ini menjelaskan cara menggunakan metode get() di resource Membership Google Chat API untuk mendapatkan detail tentang keanggotaan di ruang.

Jika Anda adalah administrator Google Workspace, Anda dapat memanggil metode get() untuk mengambil detail tentang langganan apa pun di organisasi Google Workspace Anda.

Resource Membership mewakili apakah pengguna manusia atau aplikasi Google Chat diundang ke, menjadi bagian dari, atau tidak ada di ruang.

Dengan melakukan autentikasi menggunakan autentikasi aplikasi, aplikasi Chat dapat mendapatkan keanggotaan dari ruang yang aksesnya dimiliki di Google Chat (misalnya, ruang tempat aplikasi tersebut menjadi anggota), tetapi mengecualikan keanggotaan aplikasi Chat, termasuk keanggotaan aplikasi itu sendiri. Mengautentikasi dengan autentikasi pengguna akan menampilkan langganan dari ruang yang dapat diakses oleh pengguna yang diautentikasi.

Prasyarat

Node.js

Python

Java

Apps Script

Mendapatkan detail tentang langganan

Untuk mendapatkan detail tentang langganan di Google Chat, teruskan hal berikut dalam permintaan Anda:

  • Dengan autentikasi aplikasi, tentukan cakupan otorisasi chat.bot. Dengan autentikasi pengguna, tentukan cakupan otorisasi chat.memberships.readonly atau chat.memberships. Sebagai praktik terbaik, pilih cakupan paling ketat yang masih memungkinkan aplikasi Anda berfungsi.
  • Panggil metode GetMembership().
  • Teruskan name langganan untuk mendapatkan. Dapatkan nama langganan dari resource langganan Google Chat.

Mendapatkan langganan dengan autentikasi pengguna

Berikut cara mendapatkan keanggotaan dengan autentikasi pengguna:

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

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

Untuk menjalankan contoh ini, ganti hal berikut:

  • SPACE_NAME: ID dari name ruang. Anda bisa mendapatkan ID dengan memanggil metode ListSpaces() atau dari URL ruang.
  • MEMBER_NAME: ID dari name anggota. Anda bisa mendapatkan ID dengan memanggil metode ListMemberships().

Chat API menampilkan instance Membership yang menjelaskan langganan yang ditentukan.

Mendapatkan keanggotaan dengan autentikasi aplikasi

Berikut cara mendapatkan langganan dengan autentikasi aplikasi:

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

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

Untuk menjalankan contoh ini, ganti hal berikut:

  • SPACE_NAME: ID dari name ruang. Anda bisa mendapatkan ID dengan memanggil metode ListSpaces() atau dari URL ruang.
  • MEMBER_NAME: ID dari name anggota. Anda bisa mendapatkan ID dengan memanggil metode ListMemberships().

Chat API menampilkan instance Membership yang memerinci keanggotaan yang ditentukan.

Mendapatkan detail tentang langganan sebagai administrator Google Workspace

Jika Anda adalah administrator Google Workspace, Anda dapat memanggil metode GetMembership() untuk mengambil detail tentang langganan untuk pengguna mana pun di organisasi Google Workspace Anda.

Untuk memanggil metode ini sebagai administrator Google Workspace, lakukan hal berikut:

  • Panggil metode tersebut menggunakan autentikasi pengguna, dan tentukan cakupan otorisasi yang mendukung pemanggilan metode tersebut menggunakan hak istimewa administrator.
  • Dalam permintaan, tentukan parameter kueri useAdminAccess ke true.

Untuk mengetahui informasi selengkapnya dan contoh, lihat Mengelola ruang Google Chat sebagai administrator Google Workspace.