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

এই নির্দেশিকায় ব্যাখ্যা করা হয়েছে যে, কীভাবে একজন গুগল ওয়ার্কস্পেস প্রশাসক তার সংস্থা জুড়ে নামযুক্ত স্পেসগুলি পরিচালনা করতে এবং প্রশাসনিক কাজ সম্পাদন করতে গুগল চ্যাট এপিআই-এর একটি Space রিসোর্সের search() পদ্ধতি ব্যবহার করতে পারেন।

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

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

একজন গুগল ওয়ার্কস্পেস প্রশাসক হিসেবে, আপনি চ্যাট এপিআই ব্যবহার করে নিম্নলিখিত উপায়ে আপনার প্রতিষ্ঠানের নামযুক্ত স্পেসগুলি অনুসন্ধান ও পরিচালনা করতে পারেন:

পূর্বশর্ত

পাইথন

প্রশাসক হিসেবে গুগল চ্যাট এপিআই-কে কল করুন

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

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

আপনার সংস্থা জুড়ে খালি জায়গা খুঁজুন

এই উদাহরণটি ব্যাখ্যা করে যে, কীভাবে গুগল ওয়ার্কস্পেস অ্যাডমিনিস্ট্রেটররা চ্যাট এপিআই-এর Space রিসোর্সের search() মেথড ব্যবহার করে নির্দিষ্ট মানদণ্ডের ভিত্তিতে একটি অর্গানাইজেশন জুড়ে স্পেস অনুসন্ধান করতে পারেন।

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

নিম্নলিখিত কোডটিতে দেখানো হয়েছে কিভাবে অ্যাডমিনিস্ট্রেটর প্রিভিলেজ ব্যবহার করে এমন স্পেস অনুসন্ধান করা যায়, যার ডিসপ্লে নামে 'Hello' এবং 'World' শব্দ দুটি যেকোনো সংমিশ্রণে রয়েছে:

পাইথন

  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(  
    'credentials.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)  
  1. আপনার ওয়ার্কিং ডিরেক্টরিতে, স্যাম্পলটি বিল্ড ও রান করুন:
python3 search_spaces_for_hello_world.py  

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

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

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

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

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

পাইথন

  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(  
      'credentials.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()  
  1. কোডে, INACTIVE_DATE জায়গায় YYYY-MM-DDTHH:MM:SS+HH:MM ফরম্যাটে একটি তারিখ ও সময় বসান। উদাহরণস্বরূপ, "2024-06-01T00:00:00+00:00"।
  2. আপনার ওয়ার্কিং ডিরেক্টরিতে, স্যাম্পলটি বিল্ড ও রান করুন:
python3 find_and_delete_inactive_spaces.py