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

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

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

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

پیش‌نیازها

نود جی اس

به‌روزرسانی عضویت

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

  • محدوده مجوز را مشخص کنید:
    • با احراز هویت کاربر ، دامنه مجوز chat.memberships را مشخص کنید.
    • با استفاده از احراز هویت برنامه ، محدوده مجوز chat.app.memberships را مشخص کنید. هنگام به‌روزرسانی عضویت با احراز هویت برنامه، فقط می‌توانید عضویت‌ها را در فضاهای ایجاد شده توسط برنامه‌های چت به‌روزرسانی کنید. احراز هویت برنامه نیاز به تأیید یکباره مدیر دارد.
  • متد UpdateMembership() را فراخوانی کنید.
  • membership به عنوان نمونه‌ای از Membership با موارد زیر منتقل کنید:
    • فیلد name که برای به‌روزرسانی به عضویت تنظیم شده است، شامل یک شناسه فضا و یک شناسه عضو است.
    • فیلدهای عضویت که باید به‌روزرسانی شوند، روی مقادیر جدید تنظیم می‌شوند.
  • برای مشخص کردن جنبه‌های عضویت که باید به‌روزرسانی شوند، updateMask ارسال کنید که شامل موارد زیر است:
    • role : نقش کاربر در فضای چت، که اقدامات مجاز او را در فضا تعیین می‌کند. برای توضیحات بیشتر در مورد مجوزها، به MembershipRole در مستندات مرجع Chat API مراجعه کنید. مقادیر ممکن عبارتند از:
      • ROLE_MEMBER : عضوی از فضا. در رابط کاربری چت، این نقش Member نامیده می‌شود.
      • ROLE_ASSISTANT_MANAGER : یک مدیر فضا. در رابط کاربری چت، این نقش Manager نامیده می‌شود.
      • ROLE_MANAGER : مالک فضا. در رابط کاربری چت، این نقش Owner نامیده می‌شود.

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

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

نود جی اس

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 . می‌توانید این مقدار را روی هر مقداری از MembershipRole تنظیم کنید. برای مثال، برای اینکه عضو معمولی به مدیر فضا تبدیل شود، ROLE_NAME به ROLE_ASSISTANT_MANAGER تغییر دهید.

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

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

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

نود جی اس

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 .

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',
    
            # Replace ROLE with a MembershipRole value.
            # Obtain the MembershipRole values from the membership of Chat API.
            body={'role': 'ROLE'}
    
          ).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 به دست آورید.

    • ROLE : نقش به‌روزرسانی‌شده، ROLE_MANAGER . می‌توانید این مقدار را روی هر مقداری از MembershipRole تنظیم کنید. برای مثال، برای اینکه عضو معمولی به مدیر فضا تبدیل شود، ROLE به ROLE_ASSISTANT_MANAGER تغییر دهید.

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

    python3 chat_membership_update_to_owner_app.py

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

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

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

مثال زیر با استفاده از احراز هویت برنامه، 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 هستید، می‌توانید متد update() را برای به‌روزرسانی عضویت‌ها برای هر فضایی در سازمان Google Workspace خود فراخوانی کنید.

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

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

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