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

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

הבעלים והמנהלים של המרחב יכולים להגביל את האפשרות לראות את רשימת המשתתפים במרחב. אם ההרשאות מוגבלות, קריאות לשיטה הזו שמתבצעות באמצעות אימות אפליקציה בלבד מחזירות חברות שחברי המרחב יכולים לראות, ומחזירות שגיאה מסוג PERMISSION_DENIED לגבי חברות שחברי המרחב לא יכולים לראות. קריאות לשיטה הזו שמתבצעות עם אימות משתמש מחזירות שגיאה PERMISSION_DENIED.

אדמינים ב-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.