Visualizzare i dettagli di un abbonamento

Questa guida spiega come utilizzare il metodo get() nella risorsa Membership dell'API Google Chat per ottenere i dettagli di un'iscrizione a uno spazio.

Se sei un amministratore di Google Workspace, puoi chiamare il metodo get() per recuperare i dettagli di qualsiasi abbonamento nella tua organizzazione Google Workspace.

La risorsa Membership indica se un utente umano o un'app Google Chat è invitato a, fa parte di o non è presente in uno spazio.

L'autenticazione con l'autenticazione dell'app consente a un'app Chat di ottenere gli abbonamenti dagli spazi a cui ha accesso in Google Chat (ad esempio, gli spazi di cui è membro), ma esclude gli abbonamenti all'app Chat, incluso il proprio. L'autenticazione con l'autenticazione utente restituisce le iscrizioni agli spazi a cui l'utente autenticato ha accesso.

Prerequisiti

Node.js

Python

Java

Apps Script

Visualizzare i dettagli di un abbonamento

Per ottenere i dettagli di un abbonamento in Google Chat, trasmetti quanto segue nella tua richiesta:

  • Con l'autenticazione dell'app, specifica l'ambito di autorizzazione chat.bot. Con l'autenticazione utente, specifica l'ambito di autorizzazione chat.memberships.readonly o chat.memberships. Come best practice, scegli l'ambito più restrittivo che consenta comunque il funzionamento dell'app.
  • Chiama il metodo GetMembership().
  • Supera il name dell'abbonamento da ottenere. Ottieni il nome dell'abbonamento dalla risorsa dell'abbonamento di Google Chat.

Ottenere un abbonamento con l'autenticazione utente

Ecco come ottenere un abbonamento con autenticazione utente:

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

Per eseguire questo esempio, sostituisci quanto segue:

  • SPACE_NAME: l'ID di name dello spazio. Puoi ottenere l'ID chiamando il metodo ListSpaces() o dall'URL dello spazio.
  • MEMBER_NAME: l'ID del name del membro. Puoi ottenere l'ID chiamando il metodo ListMemberships().

L'API Chat restituisce un'istanza di Membership che descrive in dettaglio l'iscrizione specificata.

Abbonarsi con l'autenticazione dell'app

Ecco come abbonarsi con l'autenticazione dell'app:

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

Per eseguire questo esempio, sostituisci quanto segue:

  • SPACE_NAME: l'ID di name dello spazio. Puoi ottenere l'ID chiamando il metodo ListSpaces() o dall'URL dello spazio.
  • MEMBER_NAME: l'ID del name del membro. Puoi ottenere l'ID chiamando il metodo ListMemberships().

L'API Chat restituisce un'istanza di Membership che descrive in dettaglio l'iscrizione specificata.

Visualizzare i dettagli degli abbonamenti in qualità di amministratore Google Workspace

Se sei un amministratore di Google Workspace, puoi chiamare il metodo GetMembership() per recuperare i dettagli di un abbonamento per qualsiasi utente della tua organizzazione Google Workspace.

Per chiamare questo metodo in qualità di amministratore di Google Workspace:

  • Chiama il metodo utilizzando l'autenticazione utente e specifica un ambito di autorizzazione che supporti la chiamata del metodo utilizzando privilegi amministrativi.
  • Nella richiesta, specifica il parametro di query useAdminAccess su true.

Per ulteriori informazioni ed esempi, vedi Gestire gli spazi di Google Chat come amministratore di Google Workspace.