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

يوضّح هذا الدليل كيفية استخدام الأسلوب 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 من مسافة مع مصادقة التطبيق، Pass ما يلي في طلبك:

  • تحديد 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.