الاطّلاع على تفاصيل حول الاشتراك

يشرح هذا الدليل كيفية استخدام طريقة get في مورد Membership ضِمن Google Chat API للحصول على تفاصيل حول عضوية في مساحة.

يمكن لمالكي المساحات ومديريها حصر إمكانية رؤية قائمة الأعضاء بمستخدمين محددين في المساحة. في حال تم حصر إمكانية الوصول، ستعرض الطلبات الموجَّهة إلى هذه الطريقة باستخدام مصادقة التطبيق فقط العضويات التي يمكن لأعضاء المساحة الاطّلاع عليها، وستعرض الخطأ PERMISSION_DENIED للعضويات التي لا يمكن لأعضاء المساحة الاطّلاع عليها. تؤدي الطلبات التي يتم إجراؤها على هذه الطريقة باستخدام مصادقة المستخدم إلى عرض الخطأ PERMISSION_DENIED.

إذا كنت مشرفًا في Google Workspace، يمكنك استدعاء طريقة get لاسترداد تفاصيل حول أي عضوية في مؤسسة Google Workspace.

يمثّل Membership المورد ما إذا كان مستخدم بشري أو تطبيق Google Chat مدعوًا إلى مساحة أو جزءًا منها أو غير متوفّر فيها.

تتيح عملية المصادقة باستخدام مصادقة التطبيق لتطبيق Chat الحصول على عضويات من المساحات التي يمكنه الوصول إليها في Google Chat (مثل المساحات التي يكون عضوًا فيها)، ولكنها تستبعد عضويات تطبيق Chat، بما في ذلك عضويته الخاصة. تؤدي المصادقة باستخدام مصادقة المستخدم إلى عرض العضويات من المساحات التي يمكن للمستخدم المصادَق عليه الوصول إليها.

المتطلبات الأساسية

Node.js

Python

جافا

برمجة التطبيقات

الحصول على تفاصيل حول عضوية

للحصول على تفاصيل حول اشتراك في Google Chat، أدرِج ما يلي في طلبك:

  • باستخدام مصادقة التطبيق، حدِّد نطاق تفويض chat.bot. باستخدام مصادقة المستخدم، حدِّد نطاق تفويض chat.memberships.readonly أو chat.memberships. من أفضل الممارسات اختيار النطاق الأكثر تقييدًا الذي يتيح لتطبيقك العمل.
  • استدعِ طريقة 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()

جافا

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

برمجة التطبيقات

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 الخاص بالمساحة يمكنك الحصول على رقم التعريف من خلال استدعاء الطريقة 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()

جافا

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

برمجة التطبيقات

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 الخاص بالمساحة يمكنك الحصول على رقم التعريف من خلال استدعاء الطريقة ListSpaces أو من عنوان URL الخاص بالمساحة.
  • استبدِل MEMBER_NAME بمعرّف name الخاص بالمشترك. يمكنك الحصول على رقم التعريف من خلال استدعاء الطريقة ListMemberships.

تعرض واجهة Chat API مثيلاً من Membership يوضّح تفاصيل العضوية المحدّدة.

الحصول على تفاصيل حول الاشتراكات بصفتك مشرف Google Workspace

إذا كنت مشرفًا في Google Workspace، يمكنك استدعاء طريقة GetMembership لاسترداد تفاصيل حول اشتراك أي مستخدم في مؤسسة Google Workspace.

لاستدعاء هذه الطريقة بصفتك مشرفًا في Google Workspace، اتّبِع الخطوات التالية:

  • استدعِ الطريقة باستخدام مصادقة المستخدم، وحدِّد نطاق تفويض يتيح استدعاء الطريقة باستخدام امتيازات المشرف.
  • في طلبك، حدِّد مَعلمة طلب البحث useAdminAccess بالقيمة true.

لمزيد من المعلومات والأمثلة، يُرجى الاطّلاع على مقالة إدارة مساحات Google Chat بصفتك مشرف Google Workspace.