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

يوضّح هذا الدليل كيفية استخدام الأسلوب 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.