إزالة عضو من مساحة

يوضّح هذا الدليل كيفية استخدام الأسلوب delete() في مورد Membership من Google Chat API لإزالة الأعضاء من مساحة، والتي تُعرف أيضًا باسم حذف اشتراك. لا يمكن إزالة مدراء المساحات إذا كان هم مدراء المساحة الوحيدين فيها. يمكنك تعيين مستخدم آخر كمدير للمساحة قبل إزالة هذه العضويات.

إذا كنت مشرفًا في Google Workspace، يمكنك إزالة المستخدمين أو مجموعات Google أو تطبيقات Chat من أي مساحة في مؤسستك على Google Workspace.

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

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

Node.js

إزالة عضو من مساحة بصفتك مستخدمًا

لإزالة مستخدم أو مجموعة Google أو تطبيق Chat من مساحة تتضمّن مصادقة مستخدم، يجب إدخال ما يلي في طلبك:

  • حدِّد نطاق تفويض chat.memberships. يجب أن يكون لدى المستخدم المفوَّض إذن بإزالة المستخدم أو "مجموعة Google" من المساحة. لإزالة تطبيق Chat، حدِّد نطاق التفويض chat.memberships.app (يمكن للتطبيقات حذف عضويتها فقط، وليس عضوية التطبيقات الأخرى). من بين أفضل الممارسات اختيار النطاق الأكثر تقييدًا الذي لا يزال يسمح لتطبيقك بالعمل.
  • استخدِم الطريقة DeleteMembership().
  • مرِّر مؤشر الماوس فوق name للاشتراك المطلوب حذفه. إذا كان الإذن بالوصول ينتمي إلى مدير المساحة الوحيد في مساحة، يجب تعيين مستخدم آخر كمدير مساحة قبل حذف هذا الإذن بالوصول.

في ما يلي كيفية حذف اشتراك باستخدام مصادقة المستخدم:

Node.js

chat/client-libraries/cloud/delete-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.delete'];

// This sample shows how to delete a space 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 here
    name: 'spaces/SPACE_NAME'
  };

  // Make the request
  const response = await chatClient.deleteSpace(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

لتشغيل هذا العيّنة، استبدِل ما يلي:

  • SPACE_NAME: رقم التعريف من name المساحة يمكنك الحصول على رقم التعريف من خلال استدعاء الأسلوب ListSpaces() أو من عنوان URL للمساحة.
  • MEMBER_NAME: رقم التعريف من حساب العميل على name يمكنك الحصول على رقم التعريف من خلال استدعاء الأسلوب ListMemberships().

في حال نجاح العملية، يعرض نص الاستجابة الاشتراك مع 'state': 'NOT_A_MEMBER'، ما يشير إلى أنّ المشترك لم يعُد في المساحة.

{
    "name": "spaces/SPACE_NAME/members/MEMBER_NAME",
    "state": "NOT_A_MEMBER"
}

إزالة عضو من مساحة باستخدام تطبيق Chat

تتطلّب مصادقة التطبيق موافقة المشرف لمرة واحدة.

لإزالة مستخدم أو مجموعة Google أو تطبيق Chat من مساحة تستخدم مصادقة التطبيق، يجب إدخال ما يلي في طلبك:

  • حدِّد chat.app.memberships نطاق التفويض. لا يمكن حذف عضوية مدير مساحة إلا في المساحات التي أنشأتها تطبيقات Chat.
  • استخدِم طريقة delete في مورد membership.
  • مرِّر مؤشر الماوس فوق name للاشتراك المطلوب حذفه. إذا كان الإذن بالوصول ينتمي إلى مدير المساحة الوحيد في مساحة، يجب تعيين مستخدم آخر كمدير مساحة قبل حذف هذا الإذن بالوصول.

إنشاء مفتاح واجهة برمجة التطبيقات

لاستدعاء طريقة واجهة برمجة التطبيقات في "معاينة المطوّر"، يجب استخدام إصدار غير متاح للجميع من "معاينة المطوّر" لمستند اكتشاف واجهة برمجة التطبيقات. لمصادقة الطلب، يجب إدخال مفتاح واجهة برمجة التطبيقات.

لإنشاء مفتاح واجهة برمجة التطبيقات، افتح مشروع تطبيقك على Google Cloud واتّبِع الخطوات التالية:

  1. في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.

    الانتقال إلى "بيانات الاعتماد"

  2. انقر على إنشاء بيانات اعتماد > مفتاح واجهة برمجة التطبيقات.
  3. يتم عرض مفتاح واجهة برمجة التطبيقات الجديد.
    • انقر على رمز النسخ لنسخ مفتاح واجهة برمجة التطبيقات لاستخدامه في رمز تطبيقك. يمكن أيضًا العثور على مفتاح واجهة برمجة التطبيقات في قسم "مفاتيح واجهة برمجة التطبيقات" ضمن بيانات اعتماد مشروعك.
    • انقر على تقييد المفتاح لتعديل الإعدادات المتقدّمة والحد من استخدام مفتاح واجهة برمجة التطبيقات. لمزيد من التفاصيل، يُرجى الاطّلاع على فرض قيود على مفاتيح واجهة برمجة التطبيقات.

كتابة نص برمجي يستدعي Chat API

في ما يلي كيفية حذف اشتراك باستخدام مصادقة التطبيق:

Python

  1. في دليل العمل، أنشئ ملفًا باسم chat_membership_delete_app.py.
  2. أدرِج الرمز التالي في chat_membership_delete_app.py:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then deletes the specified membership.
        '''
    
        # Specify service account details.
        creds = (
            service_account.Credentials.from_service_account_file('credentials.json')
            .with_scopes(SCOPES)
        )
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY')
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().members().delete(
    
            # The membership to delete.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBER with a membership name.
            # Obtain the membership name from the memberships resource of
            # Chat API. To delete a Chat app's membership, replace MEMBER
            # with app; an alias for the app calling the API.
            name='spaces/SPACE/members/MEMBER'
    
        ).execute()
    
        # Print Chat API's response in your command line interface.
        # When deleting a membership, the response body is empty.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. في الرمز، استبدِل ما يلي:

    • API_KEY: مفتاح واجهة برمجة التطبيقات الذي أنشأته لإنشاء نقطة نهاية الخدمة لواجهة برمجة التطبيقات Chat API.

    • SPACE: اسم مساحة، يمكنك الحصول عليه من طريقة spaces.list في Chat API أو من عنوان URL للمساحة.

    • MEMBER: اسم اشتراك يمكنك الحصول عليه من طريقة spaces.members.list في Chat API. لحذف اشتراك في تطبيق، استبدِل MEMBER بـ app.

  4. في دليل العمل، أنشئ العيّنة وشغِّلها:

    python3 chat_membership_delete_app.py

في حال نجاح العملية، يعرض نص الاستجابة الاشتراك مع 'state': 'NOT_A_MEMBER'، ما يشير إلى أنّ المشترك لم يعُد في المساحة.

{
    "name": "spaces/SPACE/members/MEMBER",
    "state": "NOT_A_MEMBER"
}

القيود والاعتبارات

  • باستخدام مصادقة التطبيق، يمكن لتطبيق Chat إزالة المستخدمين، ولكن ليس مجموعات Google.

إزالة مستخدمين أو مجموعات Google من مساحة بصفتك مشرفًا في Google Workspace

إذا كنت مشرفًا في Google Workspace، يمكنك استدعاء DeleteMembership() لإزالة المستخدمين أو مجموعات Google أو تطبيقات Chat من أي مساحة في مؤسستك على Google Workspace.

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

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

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