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

يشرح هذا الدليل كيفية استخدام طريقة 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 Console، انتقِل إلى "القائمة" > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.

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

  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"
}

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

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

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

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

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

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

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