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

במדריך הזה מוסבר איך להשתמש ב-method‏ 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);
}

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

כדי להריץ את הדוגמה הזו, מחליפים את הפרטים הבאים:

  • SPACE_NAME: המזהה מ-name של המרחב המשותף. אפשר לקבל את המזהה באמצעות הקריאה ל-method‏ ListSpaces() או מכתובת ה-URL של המרחב המשותף.
  • MEMBER_NAME: המזהה שרשום name של המנוי. אפשר לקבל את המזהה על ידי קריאה ל-method‏ 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);
}

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

כדי להריץ את הדוגמה הזו, מחליפים את הפרטים הבאים:

  • SPACE_NAME: המזהה מ-name של המרחב המשותף. אפשר לקבל את המזהה באמצעות הקריאה ל-method‏ ListSpaces() או מכתובת ה-URL של המרחב המשותף.
  • MEMBER_NAME: המזהה מ-name של המשתמש. אפשר לקבל את המזהה על ידי קריאה ל-method‏ ListMemberships().

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

הצגת פרטים על החברויות כאדמינים ב-Google Workspace

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

כדי להפעיל את השיטה הזו כאדמינים ב-Google Workspace:

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

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