קבלת פרטים על מינוי

במדריך הזה מוסבר איך להשתמש בשיטה get() במשאב Membership של Google Chat API כדי לקבל פרטים על חברות במרחב.

אדמינים ב-Google Workspace יכולים להתקשר לשיטת get() כדי לאחזר פרטים על חברות בארגון Google Workspace.

המשאב Membership מייצג אם משתמש אנושי או אפליקציית Google Chat הוזמנו למרחב, הם חלק ממנו או שהם לא נמצאים בו.

אימות באמצעות אימות אפליקציות מאפשר לאפליקציית Chat לקבל מינויים למרחבים שיש לה גישה אליהם ב-Google Chat (לדוגמה, מרחבים שהיא חברה בהם), אבל לא כולל מינויים לאפליקציית Chat, כולל המינוי שלה. אימות באמצעות אימות משתמשים מחזיר חברויות במרחבים שלמשתמש המאומת יש גישה אליהם.

דרישות מוקדמות

Node.js

Python

Java

Apps Script

איך מקבלים פרטים על חברות

כדי לקבל פרטים על חברות במועדון ב-Google Chat, צריך להעביר את הפרטים הבאים בבקשה:

  • באימות אפליקציות, מציינים את היקף ההרשאה chat.bot. באימות משתמש, מציינים את היקף ההרשאות chat.memberships.readonly או chat.memberships. מומלץ לבחור את ההיקף הכי מגביל שעדיין מאפשר לאפליקציה לפעול.
  • מבצעים קריאה ל-method‏ 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 של המרחב. אפשר לקבל את המזהה באמצעות קריאה ל-method‏ ListSpaces() או מכתובת ה-URL של המרחב.
  • MEMBER_NAME: המזהה מתוך name של החבר. אפשר לאתר את המזהה באמצעות הפעלת השיטה ListMemberships().

ממשק 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);
}

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 של המרחב. אפשר לקבל את המזהה באמצעות קריאה ל-method‏ ListSpaces() או מכתובת ה-URL של המרחב.
  • MEMBER_NAME: המזהה מתוך name של החבר. אפשר לאתר את המזהה באמצעות הפעלת השיטה ListMemberships().

ממשק Chat API מחזיר מופע של Membership עם פרטים על החברות שצוינה.

קבלת פרטים על חברויות כאדמין ב-Google Workspace

אדמינים ב-Google Workspace יכולים להתקשר לשיטה GetMembership() כדי לאחזר פרטים על חברות של כל משתמש בארגון שלהם ב-Google Workspace.

כדי להפעיל את ה-method הזה כאדמינים ב-Google Workspace, צריך לבצע את הפעולות הבאות:

  • קוראים ל-method באמצעות אימות משתמש, ומציינים היקף הרשאות שתומך בקריאה ל-method באמצעות הרשאות אדמין.
  • בבקשה, מציינים את פרמטר השאילתה useAdminAccess כ-true.

מידע נוסף ודוגמאות זמינים במאמר ניהול מרחבים ב-Google Chat כאדמינים ב-Google Workspace.