এই নির্দেশিকায় ব্যাখ্যা করা হয়েছে কীভাবে গুগল চ্যাট এপিআই-এর Message রিসোর্সের get() মেথড ব্যবহার করে কোনো টেক্সট বা কার্ড মেসেজের বিস্তারিত তথ্য পাওয়া যায়।
চ্যাট এপিআই-তে, একটি চ্যাট মেসেজকে Message রিসোর্স দ্বারা উপস্থাপন করা হয়। যদিও চ্যাট ব্যবহারকারীরা শুধুমাত্র টেক্সট-ভিত্তিক মেসেজ পাঠাতে পারেন, চ্যাট অ্যাপগুলো আরও অনেক মেসেজিং ফিচার ব্যবহার করতে পারে, যার মধ্যে রয়েছে স্ট্যাটিক বা ইন্টারেক্টিভ ইউজার ইন্টারফেস প্রদর্শন করা, ব্যবহারকারীদের কাছ থেকে তথ্য সংগ্রহ করা এবং ব্যক্তিগতভাবে মেসেজ পাঠানো। চ্যাট এপিআই-এর জন্য উপলব্ধ মেসেজিং ফিচারগুলো সম্পর্কে আরও জানতে, গুগল চ্যাট মেসেজ ওভারভিউ দেখুন।
পূর্বশর্ত
নোড.জেএস
- গুগল চ্যাট ব্যবহারের সুবিধাসহ একটি ব্যবসায়িক বা এন্টারপ্রাইজ গুগল ওয়ার্কস্পেস অ্যাকাউন্ট।
- আপনার পরিবেশ প্রস্তুত করুন:
- একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন ।
- OAuth সম্মতি স্ক্রিনটি কনফিগার করুন ।
- আপনার চ্যাট অ্যাপের জন্য একটি নাম, আইকন এবং বিবরণ দিয়ে গুগল চ্যাট এপিআই সক্রিয় ও কনফিগার করুন ।
- Node.js ক্লাউড ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন।
- আপনার গুগল চ্যাট এপিআই অনুরোধে আপনি যেভাবে প্রমাণীকরণ করতে চান, তার উপর ভিত্তি করে অ্যাক্সেস ক্রেডেনশিয়াল তৈরি করুন:
- চ্যাট ব্যবহারকারী হিসেবে প্রমাণীকরণের জন্য, OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালগুলো আপনার স্থানীয় ডিরেক্টরিতে
credentials.jsonনামের একটি JSON ফাইল হিসেবে সংরক্ষণ করুন। - চ্যাট অ্যাপ হিসেবে প্রমাণীকরণের জন্য, পরিষেবা অ্যাকাউন্টের ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালগুলো
credentials.jsonনামের একটি JSON ফাইল হিসেবে সংরক্ষণ করুন।
- চ্যাট ব্যবহারকারী হিসেবে প্রমাণীকরণের জন্য, OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালগুলো আপনার স্থানীয় ডিরেক্টরিতে
- আপনি ব্যবহারকারী হিসেবে নাকি চ্যাট অ্যাপ হিসেবে প্রমাণীকরণ করতে চান, তার উপর ভিত্তি করে অনুমোদনের পরিধি বেছে নিন ।
- একটি গুগল চ্যাট স্পেস, যেখানে প্রমাণীকৃত ব্যবহারকারী বা আহ্বানকারী চ্যাট অ্যাপটি সদস্য। চ্যাট অ্যাপ হিসেবে প্রমাণীকরণের জন্য, চ্যাট অ্যাপটিকে স্পেসটিতে যুক্ত করুন ।
পাইথন
- গুগল চ্যাট ব্যবহারের সুবিধাসহ একটি ব্যবসায়িক বা এন্টারপ্রাইজ গুগল ওয়ার্কস্পেস অ্যাকাউন্ট।
- আপনার পরিবেশ প্রস্তুত করুন:
- একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন ।
- OAuth সম্মতি স্ক্রিনটি কনফিগার করুন ।
- আপনার চ্যাট অ্যাপের জন্য একটি নাম, আইকন এবং বিবরণ দিয়ে গুগল চ্যাট এপিআই সক্রিয় ও কনফিগার করুন ।
- পাইথন ক্লাউড ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন।
- আপনার গুগল চ্যাট এপিআই অনুরোধে আপনি যেভাবে প্রমাণীকরণ করতে চান, তার উপর ভিত্তি করে অ্যাক্সেস ক্রেডেনশিয়াল তৈরি করুন:
- চ্যাট ব্যবহারকারী হিসেবে প্রমাণীকরণের জন্য, OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালগুলো আপনার স্থানীয় ডিরেক্টরিতে
credentials.jsonনামের একটি JSON ফাইল হিসেবে সংরক্ষণ করুন। - চ্যাট অ্যাপ হিসেবে প্রমাণীকরণের জন্য, পরিষেবা অ্যাকাউন্টের ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালগুলো
credentials.jsonনামের একটি JSON ফাইল হিসেবে সংরক্ষণ করুন।
- চ্যাট ব্যবহারকারী হিসেবে প্রমাণীকরণের জন্য, OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালগুলো আপনার স্থানীয় ডিরেক্টরিতে
- আপনি ব্যবহারকারী হিসেবে নাকি চ্যাট অ্যাপ হিসেবে প্রমাণীকরণ করতে চান, তার উপর ভিত্তি করে অনুমোদনের পরিধি বেছে নিন ।
- একটি গুগল চ্যাট স্পেস, যেখানে প্রমাণীকৃত ব্যবহারকারী বা আহ্বানকারী চ্যাট অ্যাপটি সদস্য। চ্যাট অ্যাপ হিসেবে প্রমাণীকরণের জন্য, চ্যাট অ্যাপটিকে স্পেসটিতে যুক্ত করুন ।
জাভা
- গুগল চ্যাট ব্যবহারের সুবিধাসহ একটি ব্যবসায়িক বা এন্টারপ্রাইজ গুগল ওয়ার্কস্পেস অ্যাকাউন্ট।
- আপনার পরিবেশ প্রস্তুত করুন:
- একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন ।
- OAuth সম্মতি স্ক্রিনটি কনফিগার করুন ।
- আপনার চ্যাট অ্যাপের জন্য একটি নাম, আইকন এবং বিবরণ দিয়ে গুগল চ্যাট এপিআই সক্রিয় ও কনফিগার করুন ।
- জাভা ক্লাউড ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন।
- আপনার গুগল চ্যাট এপিআই অনুরোধে আপনি যেভাবে প্রমাণীকরণ করতে চান, তার উপর ভিত্তি করে অ্যাক্সেস ক্রেডেনশিয়াল তৈরি করুন:
- চ্যাট ব্যবহারকারী হিসেবে প্রমাণীকরণের জন্য, OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালগুলো আপনার স্থানীয় ডিরেক্টরিতে
credentials.jsonনামের একটি JSON ফাইল হিসেবে সংরক্ষণ করুন। - চ্যাট অ্যাপ হিসেবে প্রমাণীকরণের জন্য, পরিষেবা অ্যাকাউন্টের ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালগুলো
credentials.jsonনামের একটি JSON ফাইল হিসেবে সংরক্ষণ করুন।
- চ্যাট ব্যবহারকারী হিসেবে প্রমাণীকরণের জন্য, OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালগুলো আপনার স্থানীয় ডিরেক্টরিতে
- আপনি ব্যবহারকারী হিসেবে নাকি চ্যাট অ্যাপ হিসেবে প্রমাণীকরণ করতে চান, তার উপর ভিত্তি করে অনুমোদনের পরিধি বেছে নিন ।
- একটি গুগল চ্যাট স্পেস, যেখানে প্রমাণীকৃত ব্যবহারকারী বা আহ্বানকারী চ্যাট অ্যাপটি সদস্য। চ্যাট অ্যাপ হিসেবে প্রমাণীকরণের জন্য, চ্যাট অ্যাপটিকে স্পেসটিতে যুক্ত করুন ।
অ্যাপস স্ক্রিপ্ট
- গুগল চ্যাট ব্যবহারের সুবিধাসহ একটি ব্যবসায়িক বা এন্টারপ্রাইজ গুগল ওয়ার্কস্পেস অ্যাকাউন্ট।
- আপনার পরিবেশ প্রস্তুত করুন:
- একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন ।
- OAuth সম্মতি স্ক্রিনটি কনফিগার করুন ।
- আপনার চ্যাট অ্যাপের জন্য একটি নাম, আইকন এবং বিবরণ দিয়ে গুগল চ্যাট এপিআই সক্রিয় ও কনফিগার করুন ।
- একটি স্বতন্ত্র অ্যাপস স্ক্রিপ্ট প্রজেক্ট তৈরি করুন এবং অ্যাডভান্সড চ্যাট সার্ভিসটি চালু করুন।
- এই নির্দেশিকায়, আপনাকে অবশ্যই ব্যবহারকারী অথবা অ্যাপ প্রমাণীকরণ ব্যবহার করতে হবে। চ্যাট অ্যাপ হিসেবে প্রমাণীকরণের জন্য, পরিষেবা অ্যাকাউন্টের ক্রেডেনশিয়াল তৈরি করুন। ধাপগুলোর জন্য, ‘গুগল চ্যাট অ্যাপ হিসেবে প্রমাণীকরণ ও অনুমোদন’ দেখুন।
- আপনি ব্যবহারকারী হিসেবে নাকি চ্যাট অ্যাপ হিসেবে প্রমাণীকরণ করতে চান, তার উপর ভিত্তি করে অনুমোদনের পরিধি বেছে নিন ।
- একটি গুগল চ্যাট স্পেস, যেখানে প্রমাণীকৃত ব্যবহারকারী বা আহ্বানকারী চ্যাট অ্যাপটি সদস্য। চ্যাট অ্যাপ হিসেবে প্রমাণীকরণের জন্য, চ্যাট অ্যাপটিকে স্পেসটিতে যুক্ত করুন ।
ব্যবহারকারী প্রমাণীকরণের মাধ্যমে একটি বার্তা পান
ব্যবহারকারী প্রমাণীকরণ সহ কোনো বার্তার বিস্তারিত তথ্য পেতে, আপনার অনুরোধে নিম্নলিখিতগুলি প্রদান করুন:
-
chat.messages.readonlyঅথবাchat.messagesঅথরাইজেশন স্কোপ নির্দিষ্ট করুন। -
GetMessage()মেথডটি কল করুন। - যে মেসেজটি পেতে চান, তার রিসোর্স নেম হিসেবে
nameসেট করুন।
নিম্নলিখিত উদাহরণটি ব্যবহারকারী প্রমাণীকরণের মাধ্যমে একটি বার্তা পায়:
নোড.জেএস
পাইথন
জাভা
অ্যাপস স্ক্রিপ্ট
এই নমুনাটি চালানোর জন্য, নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
-
SPACE_NAME: স্পেসটিরnameথেকে প্রাপ্ত আইডি। আপনিListSpaces()মেথড কল করে অথবা স্পেসটির URL থেকে আইডিটি পেতে পারেন। -
MESSAGE_NAME: বার্তারnameথেকে প্রাপ্ত আইডি। আপনি চ্যাট এপিআই (Chat API) ব্যবহার করে অ্যাসিঙ্ক্রোনাসভাবে একটি বার্তা তৈরি করার পরে ফেরত আসা রেসপন্স বডি থেকে, অথবা বার্তা তৈরির সময় নির্ধারিত কাস্টম নাম থেকে এই আইডিটি পেতে পারেন।
চ্যাট এপিআই Message এর একটি ইনস্ট্যান্স ফেরত দেয়, যা নির্দিষ্ট বার্তাটির বিবরণ দেয়।
অ্যাপ প্রমাণীকরণের মাধ্যমে বার্তা পান
অ্যাপ অথেন্টিকেশন সহ কোনো মেসেজের বিস্তারিত তথ্য পেতে, আপনার অনুরোধে নিম্নলিখিতগুলি প্রদান করুন:
- একটি অনুমোদন পরিধি নির্দিষ্ট করুন। এই বিভাগের উদাহরণগুলিতে
chat.botপরিধি ব্যবহার করা হয়েছে, যা সাধারণত উপলব্ধ এবং এর জন্য প্রশাসকের অনুমোদনের প্রয়োজন হয় না। বিকল্পভাবে, আপনি প্রশাসকের অনুমোদন সহ চ্যাট অ্যাপ হিসাবে অনুমোদন করতে পারেন, যা ডেভেলপার প্রিভিউতে উপলব্ধ। -
GetMessage()মেথডটি কল করুন। - যে মেসেজটি পেতে চান, তার রিসোর্স নেম হিসেবে
nameসেট করুন।
নিম্নলিখিত উদাহরণটি অ্যাপ প্রমাণীকরণের মাধ্যমে একটি বার্তা পায়:
নোড.জেএস
পাইথন
জাভা
অ্যাপস স্ক্রিপ্ট
এই নমুনাটি চালানোর জন্য, নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
-
SPACE_NAME: স্পেসটিরnameথেকে প্রাপ্ত আইডি। আপনিListSpaces()মেথড কল করে অথবা স্পেসটির URL থেকে আইডিটি পেতে পারেন। -
MESSAGE_NAME: বার্তারnameথেকে প্রাপ্ত আইডি। আপনি চ্যাট এপিআই (Chat API) ব্যবহার করে অ্যাসিঙ্ক্রোনাসভাবে একটি বার্তা তৈরি করার পরে ফেরত আসা রেসপন্স বডি থেকে, অথবা বার্তা তৈরির সময় নির্ধারিত কাস্টম নাম থেকে এই আইডিটি পেতে পারেন।
চ্যাট এপিআই Message এর একটি ইনস্ট্যান্স ফেরত দেয়, যা নির্দিষ্ট বার্তাটির বিবরণ দেয়।
প্রশাসকের অনুমোদন সাপেক্ষে চ্যাট অ্যাপ হিসেবে বার্তা পান।
chat.app.* অনুমোদন পরিধি সহ অ্যাপ প্রমাণীকরণের জন্য প্রশাসকের এককালীন অনুমোদন প্রয়োজন।
চ্যাট REST API ব্যবহার করে অ্যাপ অথেন্টিকেশনের মাধ্যমে কোনো মেসেজের বিস্তারিত তথ্য পেতে, আপনার রিকোয়েস্টে নিম্নলিখিত তথ্যগুলো দিন:
-
GetMessage()মেথডটি কল করুন। -
chat.app.messages.readonlyঅনুমোদন পরিধিটি নির্দিষ্ট করুন। - যে মেসেজটি পেতে চান, তার রিসোর্স নেম হিসেবে
nameসেট করুন।
একটি এপিআই কী তৈরি করুন
ডেভেলপার প্রিভিউ এপিআই মেথড কল করতে হলে, আপনাকে অবশ্যই এপিআই ডিসকভারি ডকুমেন্টের একটি নন-পাবলিক ডেভেলপার প্রিভিউ সংস্করণ ব্যবহার করতে হবে। অনুরোধটি প্রমাণীকরণের জন্য, আপনাকে একটি এপিআই কী প্রদান করতে হবে।
এপিআই কী (API Key) তৈরি করতে, আপনার অ্যাপের গুগল ক্লাউড প্রজেক্টটি খুলুন এবং নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:
- গুগল ক্লাউড কনসোলে, > এপিআই ও পরিষেবা > ক্রেডেনশিয়ালস- এ যান।
- ক্রেডেনশিয়াল তৈরি করুন > এপিআই কী-তে ক্লিক করুন।
- আপনার নতুন এপিআই কী প্রদর্শিত হচ্ছে।
- আপনার অ্যাপের কোডে ব্যবহারের জন্য আপনার এপিআই কী (API key) কপি করতে 'Copy তে ক্লিক করুন। এপিআই কী-টি আপনার প্রোজেক্টের ক্রেডেনশিয়ালস (credentials)-এর 'API Keys' সেকশনেও পাওয়া যাবে।
- অননুমোদিত ব্যবহার রোধ করতে, আমরা এপিআই কী কোথায় এবং কোন কোন এপিআই-এর জন্য ব্যবহার করা যাবে তা সীমাবদ্ধ করার সুপারিশ করি। আরও বিস্তারিত জানতে, ‘এপিআই সীমাবদ্ধতা যোগ করুন ’ দেখুন।
একটি স্ক্রিপ্ট লিখুন যা চ্যাট এপিআই কল করে
অ্যাপ অথেন্টিকেশন, অ্যাডমিনিস্ট্রেটর অ্যাপ্রুভাল এবং চ্যাট REST API ব্যবহার করে কীভাবে একটি মেসেজের বিস্তারিত তথ্য পাওয়া যায়, তা এখানে দেওয়া হলো:
পাইথন
- আপনার ওয়ার্কিং ডিরেক্টরিতে
chat_messages_get_admin_app.pyনামে একটি ফাইল তৈরি করুন। chat_messages_get_admin_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.messages.readonly"] def main(): ''' Authenticates with Chat API using app authentication, then gets details about a message. ''' # 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, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().messages().get( # The message to get details about. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE_NAME/messages/MESSAGE_NAME', ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()কোডে নিম্নলিখিতটি প্রতিস্থাপন করুন:
-
API_KEY: চ্যাট এপিআই-এর জন্য সার্ভিস এন্ডপয়েন্ট তৈরি করতে আপনি যে এপিআই কী-টি তৈরি করেছেন। -
SPACE_NAME: স্পেসটিরnameথেকে প্রাপ্ত আইডি। আপনিListSpaces()মেথড কল করে অথবা স্পেসটির URL থেকে আইডিটি পেতে পারেন। -
MESSAGE_NAME: বার্তারnameথেকে প্রাপ্ত আইডি। আপনি চ্যাট এপিআই (Chat API) ব্যবহার করে অ্যাসিঙ্ক্রোনাসভাবে একটি বার্তা তৈরি করার পরে ফেরত আসা রেসপন্স বডি থেকে, অথবা বার্তা তৈরির সময় নির্ধারিত কাস্টম নাম থেকে এই আইডিটি পেতে পারেন।
-
আপনার ওয়ার্কিং ডিরেক্টরিতে, স্যাম্পলটি বিল্ড ও রান করুন:
python3 chat_messages_get_admin_app.py
চ্যাট এপিআই Message এর একটি ইনস্ট্যান্স ফেরত দেয়, যা নির্দিষ্ট বার্তাটির বিবরণ দেয়।
সম্পর্কিত বিষয়
- একটি বার্তা বিন্যাস করুন ।
- একটি বার্তা মুছে ফেলুন ।
- একটি স্পেসে বার্তাগুলির তালিকা তৈরি করুন ।
- একটি বার্তা হালনাগাদ করুন ।
- একটি বার্তা পাঠান ।