Google Workspace সাবস্ক্রিপশন আপডেট বা রিনিউ করুন

এই পৃষ্ঠায় subscriptions.update() মেথড ব্যবহার করে কীভাবে একটি Google Workspace সাবস্ক্রিপশন রিনিউ করতে হয় তা ব্যাখ্যা করা হয়েছে। কোনো সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার সময় আপডেট করতে, যেমন—সাবস্ক্রিপশনটিকে সম্ভাব্য সর্বোচ্চ মেয়াদের জন্য রিনিউ করা, অথবা নির্দিষ্ট রিসোর্স সম্পর্কে গ্রহণ করার জন্য ইভেন্টের প্রকারের তালিকা আপডেট করতে এই মেথডটি ব্যবহার করুন।

অ্যাপস স্ক্রিপ্ট

  • একটি অ্যাপস স্ক্রিপ্ট প্রকল্প:
    • অ্যাপস স্ক্রিপ্ট দ্বারা স্বয়ংক্রিয়ভাবে তৈরি ডিফল্ট প্রজেক্টের পরিবর্তে আপনার গুগল ক্লাউড প্রজেক্ট ব্যবহার করুন।
    • OAuth সম্মতি স্ক্রিন কনফিগার করার জন্য আপনি যে সমস্ত স্কোপ যোগ করেছেন, সেই স্কোপগুলি আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টের appsscript.json ফাইলে অবশ্যই যোগ করতে হবে। উদাহরণস্বরূপ, যদি আপনি chat.messages স্কোপটি নির্দিষ্ট করে থাকেন, তাহলে নিম্নলিখিতটি যোগ করুন:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • Google Workspace Events অ্যাডভান্সড সার্ভিসটি সক্রিয় করুন

পাইথন

  • পাইথন ৩.৬ বা তার বেশি
  • পিপ প্যাকেজ ম্যানেজমেন্ট টুল
  • পাইথনের জন্য সর্বশেষ গুগল ক্লায়েন্ট লাইব্রেরি। এগুলো ইনস্টল বা আপডেট করতে, আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

গুগল ওয়ার্কস্পেস সাবস্ক্রিপশন নবায়ন করুন

এই অংশে, একটি সাবস্ক্রিপশনকে তার সর্বোচ্চ মেয়াদ পর্যন্ত নবায়ন করতে Google Workspace Events API-এর subscriptions.update() মেথডটি ব্যবহার করুন। সর্বোচ্চ মেয়াদ নির্দিষ্ট করতে, Subscription রিসোর্সের ttl ফিল্ডটি 0 -তে আপডেট করুন।

সর্বোচ্চ মেয়াদকাল নির্ভর করে ইভেন্ট পেলোডে কী ধরনের রিসোর্স ডেটা অন্তর্ভুক্ত আছে তার উপর। মেয়াদকাল সম্পর্কে আরও জানতে, Google Workspace ইভেন্টের ইভেন্ট ডেটা দেখুন।

গুগল ওয়ার্কস্পেস সাবস্ক্রিপশন নবায়ন করতে:

অ্যাপস স্ক্রিপ্ট

  1. আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টে, updateSubscription নামে একটি নতুন স্ক্রিপ্ট ফাইল তৈরি করুন এবং নিম্নলিখিত কোডটি যোগ করুন:

    function updateSubscription() {
      // The name of the subscription to update.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.patch({
        ttl: '0s',
      }, name);
      console.log(response);
    }
    

    নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • SUBSCRIPTION_ID : সাবস্ক্রিপশনের আইডি। আইডিটি পেতে, আপনি নিম্নলিখিত যেকোনো একটি ব্যবহার করতে পারেন:
      • uid ফিল্ডের মান।
      • name ফিল্ডে উল্লিখিত রিসোর্স নামের আইডি। উদাহরণস্বরূপ, যদি রিসোর্স নামটি subscriptions/subscription-123 হয়, তাহলে subscription-123 ব্যবহার করুন।
  2. Google Workspace সাবস্ক্রিপশন আপডেট করতে, আপনার Apps Script প্রজেক্টে updateSubscription ফাংশনটি চালান।

পাইথন

  1. আপনার ওয়ার্কিং ডিরেক্টরিতে update_subscription.py নামে একটি ফাইল তৈরি করুন এবং নিম্নলিখিত কোডটি যোগ করুন:

    """Update subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = [SCOPES]
    
    # Authenticate with Google Workspace and get user authentication.
    flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
    CREDENTIALS = flow.run_local_server()
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
      )
    
    BODY = {
        'ttl': {'seconds': 0},
    }
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    response = (
        service.subscriptions()
        .patch(name=NAME, updateMask='ttl', body=BODY)
        .execute()
    )
    print(response)
    

    নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • SCOPES : এক বা একাধিক OAuth স্কোপ যা সাবস্ক্রিপশনের প্রতিটি ইভেন্ট টাইপকে সাপোর্ট করে। এটি স্ট্রিং-এর একটি অ্যারে হিসাবে ফরম্যাট করা হয়। একাধিক স্কোপ তালিকাভুক্ত করতে, কমা দিয়ে আলাদা করুন। উদাহরণস্বরূপ, 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
    • SUBSCRIPTION_ID : সাবস্ক্রিপশনের আইডি। আইডিটি পেতে, আপনি নিম্নলিখিত যেকোনো একটি ব্যবহার করতে পারেন:
      • uid ফিল্ডের মান।
      • name ফিল্ডে উল্লিখিত রিসোর্স নামের আইডি। উদাহরণস্বরূপ, যদি রিসোর্স নামটি subscriptions/subscription-123 হয়, তাহলে subscription-123 ব্যবহার করুন।
  2. আপনার ওয়ার্কিং ডিরেক্টরিতে, আপনার OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়ালগুলো সংরক্ষণ করেছেন এবং ফাইলটির নাম credentials.json রেখেছেন কিনা তা নিশ্চিত করুন। কোড স্যাম্পলটি গুগল ওয়ার্কস্পেসের সাথে প্রমাণীকরণ করতে এবং ব্যবহারকারীর ক্রেডেনশিয়াল পেতে এই JSON ফাইলটি ব্যবহার করে। নির্দেশাবলীর জন্য, "Create OAuth client ID credentials" দেখুন।

  3. Google Workspace সাবস্ক্রিপশন আপডেট করতে, আপনার টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:

    python3 update_subscription.py
গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই একটি দীর্ঘস্থায়ী অপারেশন ফেরত দেয়, যার মধ্যে Subscription রিসোর্সের ইনস্ট্যান্সটি থাকে।

আপডেট করা Subscription রিসোর্স সম্পর্কে বিস্তারিত জানতে, operations.get() মেথডটি ব্যবহার করুন এবং আপনার subscriptions.update() রিকোয়েস্ট থেকে প্রাপ্ত Operation রিসোর্সটি নির্দিষ্ট করুন। অন্যথায়, আপনি যদি সাবস্ক্রিপশনের পূর্ববর্তী কোনো ভার্সনের Operation রিসোর্স নির্দিষ্ট করেন, তাহলে রেসপন্সটি খালি থাকবে।

গুগল চ্যাট অ্যাপ হিসেবে সাবস্ক্রিপশন আপডেট বা নবায়ন করুন

আপনি একজন ব্যবহারকারী হিসেবে নয়, বরং একটি চ্যাট অ্যাপ হিসেবে চ্যাট ইভেন্টের সাবস্ক্রিপশন আপডেট বা নবায়ন করতে পারেন। প্রক্রিয়াটি একই রকম, তবে কিছু ব্যতিক্রম রয়েছে:

  1. ব্যবহারকারী প্রমাণীকরণের পরিবর্তে, এককালীন প্রশাসক অনুমোদনের মাধ্যমে একটি চ্যাট অ্যাপ হিসেবে প্রমাণীকরণ করুন

  2. চ্যাট অ্যাপকে চ্যাট ইভেন্টগুলিতে সাবস্ক্রাইব করার অনুমতি দেয় এমন অনুমোদন স্কোপগুলি নির্দিষ্ট করুন। এই অনুমোদন স্কোপগুলি সর্বদা chat.app দিয়ে শুরু হয় এবং নিম্নলিখিতগুলি অন্তর্ভুক্ত করে:

    • https://www.googleapis.com/auth/chat.app.memberships : চ্যাট স্পেসের মেম্বার ইভেন্টগুলোতে সাবস্ক্রাইব করুন।
    • https://www.googleapis.com/auth/chat.app.memberships.readonly : চ্যাট স্পেসের মেম্বার ইভেন্টগুলোতে সাবস্ক্রাইব করুন।
    • https://www.googleapis.com/auth/chat.app.messages.readonly : চ্যাট স্পেসের মেসেজ ইভেন্টগুলিতে সাবস্ক্রাইব করুন।
    • https://www.googleapis.com/auth/chat.app.spaces : চ্যাট স্পেস ইভেন্টগুলিতে সাবস্ক্রাইব করুন।
    • https://www.googleapis.com/auth/chat.app.spaces.readonly : চ্যাট স্পেস ইভেন্টগুলিতে সাবস্ক্রাইব করুন।

এমন একটি স্ক্রিপ্ট লিখুন যা গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই (Google Workspace Events API)-কে কল করে।

নিম্নলিখিত কোড নমুনাটি একটি চ্যাট অ্যাপের গুগল ওয়ার্কস্পেস সাবস্ক্রিপশন আপডেট করে:

পাইথন

  """Update subscription."""

  from google.oauth2 import service_account
  from apiclient.discovery import build

  # Specify required scopes.
  SCOPES = [SCOPES]

  # Specify service account details.
  CREDENTIALS = (
      service_account.Credentials.from_service_account_file('credentials.json')
      .with_scopes(SCOPES)
  )

  # Call the Workspace Events API using the service endpoint.
  service = build(
      'workspaceevents',
      'v1beta',
      credentials=CREDENTIALS,
  )

  BODY = {
      'ttl': {'seconds': 0},
  }
  NAME = 'subscriptions/SUBSCRIPTION_ID'
  response = (
      service.subscriptions()
      .patch(name=NAME, updateMask='ttl', body=BODY)
      .execute()
  )
  print(response)

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

  • SCOPES : সেইসব অথরাইজেশন স্কোপ নির্দিষ্ট করুন যা চ্যাট অ্যাপকে চ্যাট ইভেন্টগুলিতে সাবস্ক্রাইব করার অনুমতি দেয়। এই অথরাইজেশন স্কোপগুলি সর্বদা chat.app দিয়ে শুরু হয় এবং নিম্নলিখিতগুলি অন্তর্ভুক্ত করে:

    • https://www.googleapis.com/auth/chat.app.memberships : চ্যাট স্পেসের মেম্বার ইভেন্টগুলোতে সাবস্ক্রাইব করুন।
    • https://www.googleapis.com/auth/chat.app.memberships.readonly : চ্যাট স্পেসের মেম্বার ইভেন্টগুলোতে সাবস্ক্রাইব করুন।
    • https://www.googleapis.com/auth/chat.app.messages.readonly : চ্যাট স্পেসের মেসেজ এবং রিঅ্যাকশন ইভেন্টগুলিতে সাবস্ক্রাইব করুন।
    • https://www.googleapis.com/auth/chat.app.spaces : চ্যাট স্পেস ইভেন্টগুলিতে সাবস্ক্রাইব করুন।
    • https://www.googleapis.com/auth/chat.app.spaces.readonly : চ্যাট স্পেস ইভেন্টগুলিতে সাবস্ক্রাইব করুন।
  • SUBSCRIPTION_ID : সাবস্ক্রিপশনের আইডি। আইডিটি পেতে, আপনি নিম্নলিখিত যেকোনো একটি ব্যবহার করতে পারেন:

    • uid ফিল্ডের মান।
    • name ফিল্ডে উল্লিখিত রিসোর্স নামের আইডি। উদাহরণস্বরূপ, যদি রিসোর্স নামটি subscriptions/subscription-123 হয়, তাহলে subscription-123 ব্যবহার করুন।