به روز رسانی عضویت کاربر در فضای چت گوگل، به روز رسانی عضویت کاربر در فضای چت گوگل

این راهنما نحوه استفاده از متد update() را در منبع Membership API Google Chat برای تغییر ویژگی‌های عضویت، مانند تغییر عضو فضا به مالک فضا یا تغییر مالک فضا به عضو فضایی توضیح می‌دهد.

اگر یک سرپرست Google Workspace هستید، می‌توانید برای به‌روزرسانی عضویت هر فضا در سازمان Google Workspace خود، متد update() را فراخوانی کنید.

منبع Membership نشان می‌دهد که آیا کاربر انسانی یا برنامه چت Google به یک فضا دعوت شده، بخشی از آن یا غایب است.

پیش نیازها

Node.js

یک عضویت را به روز کنید

برای به‌روزرسانی عضویت فضایی، موارد زیر را در درخواست خود بنویسید:

  • محدوده مجوز را مشخص کنید:
    • با احراز هویت کاربر ، محدوده مجوز chat.memberships را مشخص کنید.
    • با احراز هویت برنامه ، محدوده مجوز chat.app.memberships را مشخص کنید. هنگام به‌روزرسانی عضویت با تأیید اعتبار برنامه، فقط می‌توانید عضویت‌ها را در فضاهای ایجاد شده توسط برنامه‌های چت به‌روزرسانی کنید. احراز هویت برنامه نیاز به تأیید یکباره سرپرست دارد.
  • متد UpdateMembership() را فراخوانی کنید.
  • تصویب membership به عنوان نمونه ای از Membership با موارد زیر:
    • فیلد name روی عضویت برای به‌روزرسانی تنظیم شده است که شامل شناسه فاصله و شناسه عضو است.
    • فیلدهای عضویت برای به‌روزرسانی روی مقادیر جدید تنظیم می‌شوند.
  • برای مشخص کردن جنبه های عضویت برای به روز رسانی، updateMask پاس کنید، شامل موارد زیر است:
    • role : نقش کاربر در فضای چت، که اقدامات مجاز آنها را در فضا تعیین می کند. مقادیر ممکن عبارتند از:
      • ROLE_MEMBER : عضوی از فضا. در رابط کاربری چت، این نقش عضو نامیده می شود. کاربر دارای مجوزهای اولیه مانند ارسال پیام به فضا است. در مکالمات گروهی 1:1 و بدون نام، همه این نقش را دارند.
      • ROLE_MANAGER : مالک فضا. در رابط کاربری چت، این نقش مالک نامیده می شود. کاربر تمام مجوزهای اولیه به اضافه مجوزهای مدیریتی را دارد که به او اجازه می دهد فضا را مدیریت کند، مانند افزودن یا حذف اعضا. فقط در فضاهایی که spaceType SPACE است (فضاهای نامگذاری شده) پشتیبانی می شود.

تغییر عضو به مالک (تأیید هویت کاربر)

مثال زیر Chat API را با استفاده از احراز هویت کاربر فراخوانی می‌کند تا با تعیین role به‌عنوان ROLE_MANAGER ، یک عضو فضای معمولی را مالک فضا کند:

Node.js

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

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

// This sample shows how to update a membership with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(
    USER_AUTH_OAUTH_SCOPES,
  );

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME',
    },
    updateMask: {
      // The field paths to update.
      paths: ['role'],
    },
  };

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

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

await main();

برای اجرای نمونه، موارد زیر را جایگزین کنید:

  • SPACE_NAME : شناسه از name فضا. شما می توانید شناسه را با فراخوانی متد ListSpaces() یا از URL فضا بدست آورید.
  • MEMBER_NAME : شناسه از name عضویت. شما می توانید با فراخوانی متد ListMemberships() یا از بدنه پاسخی که پس از ایجاد عضویت به طور ناهمزمان با Chat API بازگردانده شده است، شناسه را دریافت کنید.
  • ROLE_NAME : نقش به روز شده، ROLE_MANAGER .

Google Chat API عضویت مشخص شده را به یک مالک فضا به‌روزرسانی می‌کند و نمونه‌ای از Membership را برمی‌گرداند.

تغییر مالک به عضو (تأیید هویت کاربر)

مثال زیر Chat API را با استفاده از احراز هویت کاربر فراخوانی می‌کند تا با تعیین role به‌عنوان ROLE_MEMBER ، مالک فضا را به عضویت فضای معمولی تبدیل کند:

Node.js

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

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

// This sample shows how to update a membership with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(
    USER_AUTH_OAUTH_SCOPES,
  );

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME',
    },
    updateMask: {
      // The field paths to update.
      paths: ['role'],
    },
  };

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

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

await main();

برای اجرای نمونه، موارد زیر را جایگزین کنید:

  • SPACE_NAME : شناسه از name فضا. شما می توانید شناسه را با فراخوانی متد ListSpaces() یا از URL فضا بدست آورید.
  • MEMBER_NAME : شناسه از name عضویت. شما می توانید با فراخوانی متد ListMemberships() یا از بدنه پاسخی که پس از ایجاد عضویت به طور ناهمزمان با Chat API بازگردانده شده است، شناسه را دریافت کنید.
  • ROLE_NAME : نقش به روز شده، ROLE_MEMBER .

Google Chat API عضویت مشخص شده را به یک مالک فضا به‌روزرسانی می‌کند و نمونه‌ای از Membership را برمی‌گرداند.

تغییر عضو به مالک (احراز هویت برنامه چت)

احراز هویت برنامه نیاز به تأیید یکباره سرپرست دارد.

اسکریپتی بنویسید که Chat API را فراخوانی کند

مثال زیر Chat API را با استفاده از احراز هویت برنامه فراخوانی می‌کند تا با تعیین role به‌عنوان ROLE_MANAGER در body که ویژگی‌های عضویت به‌روز شده را مشخص می‌کند، یک عضو فضای معمولی را مالک فضا کند:

پایتون

  1. در فهرست کاری خود، فایلی با نام chat_membership_update_to_owner_app.py ایجاد کنید.
  2. کد زیر را در chat_membership_update_to_owner_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 updates a specified space member to change
        it from a regular member to a space owner.
        '''
    
        # 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)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().members().patch(
    
            # The membership to update, and the updated role.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBERSHIP with a membership name.
            # Obtain the membership name from the membership of Chat API.
            name='spaces/SPACE/members/MEMBERSHIP',
            updateMask='role',
            body={'role': 'ROLE_MANAGER'}
    
          ).execute()
    
        # Prints details about the updated membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. در کد زیر را جایگزین کنید:

    • SPACE : نام فضایی است که می توانید از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

    • MEMBERSHIP : یک نام عضویت که می توانید از روش spaces.members.list در Chat API بدست آورید.

  4. در پوشه کاری خود، نمونه را بسازید و اجرا کنید:

    python3 chat_membership_update_to_owner_app.py

تغییر مالک به عضو (احراز هویت برنامه چت)

احراز هویت برنامه نیاز به تأیید یکباره سرپرست دارد.

اسکریپتی بنویسید که Chat API را فراخوانی کند

مثال زیر Chat API را با استفاده از احراز هویت برنامه فراخوانی می‌کند تا با تعیین role به‌عنوان ROLE_MEMBER در body که ویژگی‌های عضویت به‌روز شده را مشخص می‌کند، مالک فضا را به عضوی فضای معمولی تبدیل کند:

پایتون

  1. در فهرست کاری خود، فایلی با نام chat_membership_update_to_member_app.py ایجاد کنید.
  2. کد زیر را در chat_membership_update_to_member_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 via user credentials,
        then updates a specified space owner to change
        it to a regular member.
        '''
    
        # 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)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().members().patch(
    
            # The membership to update, and the updated role.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBERSHIP with a membership name.
            # Obtain the membership name from the membership of Chat API.
            name='spaces/SPACE/members/MEMBERSHIP',
            updateMask='role',
            body={'role': 'ROLE_MEMBER'}
    
          ).execute()
    
        # Prints details about the updated membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. در کد زیر را جایگزین کنید:

    • SPACE : نام فضایی است که می توانید از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

    • MEMBERSHIP : یک نام عضویت که می توانید از روش spaces.members.list در Chat API بدست آورید.

  4. در پوشه کاری خود، نمونه را بسازید و اجرا کنید:

    python3 chat_membership_update_to_member_app.py

عضویت ها را به عنوان سرپرست Google Workspace به روز کنید

اگر سرپرست Google Workspace هستید، می‌توانید برای به‌روزرسانی عضویت‌ها برای هر فضایی در سازمان Google Workspace خود، روش update() را فراخوانی کنید.

برای فراخوانی این روش به عنوان سرپرست Google Workspace، موارد زیر را انجام دهید:

  • روش را با استفاده از احراز هویت کاربر فراخوانی کنید و محدوده مجوزی را مشخص کنید که از فراخوانی روش با استفاده از امتیازات سرپرست پشتیبانی می کند.
  • در درخواست خود، پارامتر query useAdminAccess به true مشخص کنید.

برای اطلاعات بیشتر و مثال‌ها، به مدیریت فضاهای گپ Google به عنوان سرپرست Google Workspace مراجعه کنید.