আপনার Google Workspace সংস্থার জন্য Google Chat স্পেস খুঁজুন এবং ম্যানেজ করুন

একজন Google Workspace অ্যাডমিনিস্ট্রেটর কীভাবে Google Chat API-এর Space রিসোর্সে search() পদ্ধতি ব্যবহার করে তাদের প্রতিষ্ঠান জুড়ে নামযুক্ত স্পেসগুলি পরিচালনা করতে এবং প্রশাসনিক কাজগুলি সম্পাদন করতে পারেন তা এই নির্দেশিকাটি ব্যাখ্যা করে।

একজন Google Workspace অ্যাডমিনিস্ট্রেটর হিসেবে, আপনি শুধুমাত্র নামের স্পেসগুলি পরিচালনা করতে Chat API ব্যবহার করতে পারেন, যেগুলিকে SPACE এর একটি SpaceType হিসাবে সংজ্ঞায়িত করা হয়। নামযুক্ত স্থানগুলি স্থায়ী স্থান যেখানে লোকেরা বার্তা পাঠায়, ফাইলগুলি ভাগ করে এবং সহযোগিতা করে৷ আপনি সরাসরি বার্তা (DMs) বা গ্রুপ চ্যাট পরিচালনা করতে Chat API ব্যবহার করতে পারবেন না।

Space রিসোর্স এমন একটি জায়গাকে প্রতিনিধিত্ব করে যেখানে লোকেরা এবং চ্যাট অ্যাপ মেসেজ পাঠাতে, ফাইল শেয়ার করতে এবং সহযোগিতা করতে পারে। বিভিন্ন ধরনের স্পেস আছে:

  • ডাইরেক্ট মেসেজ (DMs) হল দুই ব্যবহারকারী বা একজন ব্যবহারকারী এবং একটি চ্যাট অ্যাপের মধ্যে কথোপকথন।
  • গ্রুপ চ্যাট হল তিন বা ততোধিক ব্যবহারকারী এবং চ্যাট অ্যাপের মধ্যে কথোপকথন।
  • নামযুক্ত স্থানগুলি স্থায়ী স্থান যেখানে লোকেরা বার্তা পাঠায়, ফাইলগুলি ভাগ করে এবং সহযোগিতা করে৷

একজন Google Workspace অ্যাডমিনিস্ট্রেটর হিসেবে, আপনি নিম্নলিখিত উপায়ে আপনার প্রতিষ্ঠানের নামযুক্ত স্পেস অনুসন্ধান এবং পরিচালনা করতে Chat API ব্যবহার করতে পারেন:

  • প্রতিষ্ঠানের অডিট স্পেস। search() পদ্ধতি ব্যবহার করে, আপনি প্রতিটি স্থানের সেটিংস এবং মেটাডেটা সম্পর্কে বিস্তারিত তথ্য সহ একটি সংস্থার সমস্ত স্থানের একটি তালিকা পুনরুদ্ধার করতে পারেন যেমন তৈরির তারিখ, শেষ কার্যকলাপের তারিখ, সদস্য সংখ্যা, ইতিহাস সেটিং এর স্থিতি, এবং বহিরাগত আমন্ত্রণ জানানোর ক্ষমতা। অতিথি
  • নিষ্ক্রিয় স্থানগুলি খুঁজুন এবং মুছুন। search() পদ্ধতি ব্যবহার করে, আপনি একটি নির্দিষ্ট তারিখ এবং সময় থেকে ব্যবহার করা হয়নি এমন স্থানগুলি খুঁজে পেতে পারেন এবং তারপরে সেগুলি মুছে ফেলতে পারেন। আরও বিশদ বিবরণ এবং নমুনা কোডের জন্য, নিষ্ক্রিয় স্থানগুলি খুঁজুন এবং মুছুন দেখুন৷
  • অনুসন্ধানের মানদণ্ডের উপর ভিত্তি করে স্থানগুলির একটি তালিকা রপ্তানি করুন। search() পদ্ধতি ব্যবহার করে, আপনি স্পেসগুলির একটি তালিকা পুনরুদ্ধার করতে পারেন যা query নির্দিষ্ট মানদণ্ড পূরণ করে এবং ফলাফলগুলি বিশ্লেষণের জন্য একটি CSV ফাইলে রপ্তানি করতে পারে৷
  • স্থান পরিচালকদের খুঁজুন এবং যোগাযোগ করুন। search() পদ্ধতি ব্যবহার করে, আপনি একটি প্রতিষ্ঠানের সমস্ত স্থানের একটি তালিকা পুনরুদ্ধার করতে পারেন, তারপরে মেম্বারদের সমস্ত স্পেস সদস্যদের একটি তালিকা পুনরুদ্ধার করতে members.list() পদ্ধতি ব্যবহার করুন।
  • মনোনীত পরিচালক ছাড়া স্থান খুঁজুন. search() পদ্ধতি ব্যবহার করে, আপনি একটি প্রতিষ্ঠানের সমস্ত স্থানের একটি তালিকা পুনরুদ্ধার করতে পারেন, তারপর কোনো পরিচালক নেই এমন স্থানগুলির একটি তালিকা পুনরুদ্ধার করতে members.list() পদ্ধতি ব্যবহার করুন।

পূর্বশর্ত

পাইথন

  • Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট।

প্রশাসক হিসাবে Google Chat API-কে কল করুন

অ্যাডমিনিস্ট্রেটর বিশেষাধিকার সহ একজন ব্যবহারকারী হিসাবে প্রমাণীকরণ করতে, আপনাকে অবশ্যই আপনার অনুরোধে নিম্নলিখিতগুলি পাস করতে হবে:

  • একটি অনুমোদনের সুযোগ নির্দিষ্ট করুন যা অ্যাডমিনিস্ট্রেটর বিশেষাধিকারের সাথে ব্যবহারকারীর প্রমাণীকরণ ব্যবহার করে সমর্থন করে।
  • useAdminAccess ক্ষেত্রটিকে true সেট করুন।

এই বিভাগটি প্রশাসক হিসাবে চ্যাট API কল করার নিম্নলিখিত উদাহরণগুলি দেখায়:

আপনার প্রতিষ্ঠান জুড়ে স্পেস অনুসন্ধান করুন

এই উদাহরণে ব্যাখ্যা করা হয়েছে যে Google Workspace অ্যাডমিনিস্ট্রেটররা কীভাবে Chat API-এর Space রিসোর্সে search() পদ্ধতি ব্যবহার করে নির্দিষ্ট মাপকাঠির ভিত্তিতে একটি প্রতিষ্ঠানে স্পেস সার্চ করতে পারেন।

ব্যবহারকারীর প্রমাণীকরণ এবং প্রশাসকের বিশেষাধিকার সহ search() পদ্ধতিতে কল করতে, আপনাকে অনুরোধে নিম্নলিখিতগুলি উল্লেখ করতে হবে:

  • chat.admin.spaces বা chat.admin.spaces.readonly অনুমোদনের সুযোগ নির্দিষ্ট করুন।
  • useAdminAccess=true নির্দিষ্ট করুন।
  • ফলাফল ফিল্টার করতে অনুসন্ধান query পরামিতি নির্দিষ্ট করুন:
    • customer = "customers/my_customer" - প্রয়োজনীয় এবং একমাত্র সমর্থিত মান হল customers/my_customer
    • spaceType = "SPACE" - প্রয়োজন এবং একমাত্র সমর্থিত মান হল SPACE
    • ঐচ্ছিকভাবে, আপনার স্থান অনুসন্ধানকে আরও ফিল্টার করার জন্য এক বা একাধিক অতিরিক্ত প্রশ্ন, যেমন প্রদর্শন নামের মূল শব্দগুলি ( displayName ), সৃষ্টির তারিখ ( createTime ), বা স্থান কার্যকলাপের উপর ভিত্তি করে ( lastActiveTime )।

নিম্নোক্ত কোডটি যেকোন সংমিশ্রণে "হ্যালো" এবং "ওয়ার্ল্ড" ধারণ করে এমন একটি ডিসপ্লে নাম সহ স্পেস অনুসন্ধান করতে কীভাবে প্রশাসকের বিশেষাধিকারগুলি ব্যবহার করতে হয় তার একটি উদাহরণ দেখায়:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, search_spaces_for_hello_world.py নামে একটি ফাইল তৈরি করুন।
  2. search_spaces_for_hello_world.py এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন :

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    SCOPES = [
      'https://www.googleapis.com/auth/chat.admin.spaces.readonly',
    ]
    
    def main():
    # Authenticate with Google Workspace
    # and get user authorization.
    flow = InstalledAppFlow.from_client_secrets_file(
        'client_secrets.json',
        SCOPES,
    )
    creds = flow.run_local_server()
    
    # Build a service endpoint for Chat API.
    chat = build('chat', 'v1', credentials=creds)
    
    spaces = []
    page_token = ''
    
    # Search for all spaces.
    while True:
      result = (
          chat.spaces()
          .search(
              useAdminAccess=True,
              query=(
                'customer = "customers/my_customer"'
                'AND spaceType = "SPACE"'
                'AND displayName:"Hello World"'
                )
    pageToken=page_token,
          )
          .execute()
      )
      if 'spaces' not in result:
        print('No spaces found named Hello World.')
        return
      spaces.extend(result['spaces'])
      if 'nextPageToken' in result:
        page_token = result['nextPageToken']
      else:
        break
    
    print(str(len(spaces)) + ' spaces found:')
    # Prints the list of spaces.
    print(spaces)
    
  3. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 search_spaces_for_hello_world.py
    

নিষ্ক্রিয় স্থানগুলি খুঁজুন এবং মুছুন

এই উদাহরণটি ব্যাখ্যা করে যে কীভাবে Google Workspace অ্যাডমিনিস্ট্রেটররা Chat API-এর Space রিসোর্সে search() পদ্ধতি ব্যবহার করে নিষ্ক্রিয় স্পেস খুঁজে বের করতে পারে এবং তারপর useAdminAccess প্যারামিটার সহ delete() পদ্ধতি ব্যবহার করে সেগুলি মুছে ফেলতে পারে।

নিষ্ক্রিয় Google চ্যাট স্পেস—যেগুলি আর সক্রিয়ভাবে ব্যবহার করা হচ্ছে না—মূল্যবান স্টোরেজ স্পেস নিতে পারে এবং ইউজার ইন্টারফেসে বিশৃঙ্খলা তৈরি করতে পারে। search() পদ্ধতি ব্যবহার করে, প্রশাসকরা এমন স্থানগুলি খুঁজে পেতে পারেন যা একটি নির্দিষ্ট তারিখ এবং সময় থেকে ব্যবহার করা হয়নি, যেমন দুই মাস আগে। স্থানগুলির তালিকা গণনা করার পরে, অ্যাডমিনিস্ট্রেটররা তাদের উপর পদক্ষেপ নিতে পারে, যেমন সেগুলি আপডেট করা বা মুছে ফেলা।

নিষ্ক্রিয় স্থানগুলির একটি তালিকা অনুসন্ধান করতে এবং তারপরে ব্যবহারকারীর প্রমাণীকরণ এবং প্রশাসকের বিশেষাধিকার দিয়ে সেগুলি মুছুন, আপনার অনুরোধগুলিতে নিম্নলিখিতগুলি পাস করুন:

  • নিষ্ক্রিয় স্থান অনুসন্ধান করতে, নিম্নলিখিত উল্লেখ করুন:
    • chat.admin.spaces বা chat.admin.spaces.readonly অনুমোদনের সুযোগ নির্দিষ্ট করুন।
    • Spaces রিসোর্সে search() পদ্ধতিতে কল করুন।
    • শেষ কার্যকলাপের তারিখ এবং সময়ে INACTIVE_SPACE_DEADLINE সেট করুন যা স্পেস ফেরত দেওয়ার জন্য নির্ধারণ করে।
    • useAdminAccess=true নির্দিষ্ট করুন।
    • ফলাফল ফিল্টার করতে অনুসন্ধান query পরামিতি নির্দিষ্ট করুন:
      • customer = "customers/my_customer" - প্রয়োজনীয় এবং একমাত্র সমর্থিত মান হল customers/my_customer
      • spaceType = "SPACE" - প্রয়োজন এবং একমাত্র সমর্থিত মান হল SPACE
      • lastActiveTime - শুধুমাত্র নিষ্ক্রিয় স্থান ফেরত দেওয়ার জন্য আপনার অনুরোধ ফিল্টার করতে, lastActiveTime নির্দিষ্ট করুন
  • অনুসন্ধান ফলাফল থেকে নিষ্ক্রিয় স্থান মুছে ফেলার জন্য, নিম্নলিখিত উল্লেখ করুন:
    • chat.admin.delete অনুমোদনের সুযোগ নির্দিষ্ট করুন।
    • Spaces রিসোর্সে delete() পদ্ধতিতে কল করুন।
    • useAdminAccess=true নির্দিষ্ট করুন।

নিম্নলিখিত কোডটি কীভাবে নিষ্ক্রিয় স্থানগুলির জন্য অনুসন্ধান করতে হয় এবং প্রশাসকের বিশেষাধিকার ব্যবহার করে সেগুলি মুছতে হয় তার একটি উদাহরণ দেখায়:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, find_and_delete_inactive_spaces.py নামে একটি ফাইল তৈরি করুন।

  2. find_and_delete_inactive_spaces.py এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    SCOPES = [
        'https://www.googleapis.com/auth/chat.admin.spaces.readonly',
        'https://www.googleapis.com/auth/chat.admin.delete',
    ]
    
    # Any spaces that have not been active since this time will be deleted.
    INACTIVE_SPACE_DEADLINE = '"INACTIVE_DATE"'
    
    def main():
      # Authenticate with Google Workspace
      # and get user authorization.
      flow = InstalledAppFlow.from_client_secrets_file(
          'client_secrets.json',
          SCOPES,
      )
      creds = flow.run_local_server()
    
      # Build a service endpoint for Chat API.
      chat = build('chat', 'v1', credentials=creds)
    
      spaces = []
      page_token = ''
    
      # Search for all inactive spaces.
      while True:
        result = (
            chat.spaces()
            .search(
                useAdminAccess=True,
                query=(
                    'customer = "customers/my_customer" AND spaceType = "SPACE" AND'
                    ' lastActiveTime < '
                )
                + INACTIVE_SPACE_DEADLINE,
                pageToken=page_token,
            )
            .execute()
        )
        if 'spaces' not in result:
          print('No inactive spaces found.')
          return
        spaces.extend(result['spaces'])
        if 'nextPageToken' in result:
          page_token = result['nextPageToken']
        else:
          break
    
      print(str(len(spaces)) + ' inactive spaces found:')
      # Prints the list of inactive spaces.
      print(spaces)
    
      # Delete all inactive spaces.
      for space in spaces:
        (
            chat.spaces()
            .delete(
                useAdminAccess=True,
                name=space['name'],
            )
            .execute()
        )
        print(
            'Deleted space: '
            + space['displayName']
            + ', Resource Name: '
            + space['name']
        )
    
    if __name__ == '__main__':
      main()
    
  3. কোডে, YYYY-MM-DDTHH:MM:SS+HH:MM আকারে একটি তারিখ এবং সময় দিয়ে INACTIVE_DATE প্রতিস্থাপন করুন। উদাহরণস্বরূপ, "2024-06-01T00:00:00+00:00"।

  4. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 find_and_delete_inactive_spaces.py