চ্যাট এপিআই-এর MessagePin রিসোর্সের মাধ্যমে আপনার অ্যাপ গুগল চ্যাট স্পেসে মেসেজ পিন করতে, আনপিন করতে এবং সমস্ত পিন করা মেসেজের একটি তালিকা পেতে পারে। পিন করা মেসেজগুলো স্পেসের সকল সদস্যের জন্য চ্যাট ইন্টারফেসে দৃশ্যমান থাকে। এই এপিআই আপনার অ্যাপকে একজন ব্যবহারকারীর পক্ষ থেকে পিন করা মেসেজগুলো পরিচালনা করতে সাহায্য করে।
ব্যবহারকারীরা কীভাবে স্পেসে মেসেজ পিন করেন, সে সম্পর্কে জানতে ‘স্পেস ও মেসেজে মেসেজ, ফাইল ও লিঙ্ক পিন করুন’ দেখুন।
পূর্বশর্ত
নোড.জেএস
- গুগল চ্যাট ব্যবহারের সুবিধাসহ একটি ব্যবসায়িক বা এন্টারপ্রাইজ গুগল ওয়ার্কস্পেস অ্যাকাউন্ট।
- আপনার পরিবেশ প্রস্তুত করুন:
- একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন ।
- OAuth সম্মতি স্ক্রিনটি কনফিগার করুন ।
- আপনার চ্যাট অ্যাপের জন্য একটি নাম, আইকন এবং বিবরণ দিয়ে গুগল চ্যাট এপিআই সক্রিয় ও কনফিগার করুন ।
- Node.js ক্লাউড ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন।
- একটি ডেস্কটপ অ্যাপ্লিকেশনের জন্য OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করুন । এই গাইডের নমুনাটি চালানোর জন্য, ক্রেডেনশিয়ালগুলো আপনার স্থানীয় ডিরেক্টরিতে
credentials.jsonনামের একটি JSON ফাইল হিসেবে সংরক্ষণ করুন।
- এমন একটি অনুমোদন পরিধি বেছে নিন যা ব্যবহারকারী প্রমাণীকরণ সমর্থন করে।
বিবেচ্য বিষয়সমূহ
- আপনি শুধুমাত্র সেই মেসেজগুলোই পিন করতে পারবেন যেগুলো একটি স্পেসে আগে থেকেই বিদ্যমান। আপনি একই অনুরোধে একটি নতুন মেসেজ তৈরি করে তা পিন করতে পারবেন না।
- যে বার্তাগুলো শুধু আপনিই দেখতে পান, সেগুলো আপনি পিন করতে পারবেন না। উদাহরণস্বরূপ, কোনো অ্যাপ থেকে পাওয়া ব্যক্তিগত বার্তা আপনি পিন করতে পারবেন না।
- প্রতিটি চ্যাট স্পেসে সর্বোচ্চ ১০০টি পিন করা মেসেজ থাকতে পারে। আপনার অ্যাপ যদি ১০১তম মেসেজটি পিন করার চেষ্টা করে, তাহলে এপিআই একটি এরর দেখাবে।
একটি বার্তা পিন করুন
ব্যবহারকারী প্রমাণীকরণের মাধ্যমে কোনো বার্তা পিন করতে, আপনার অনুরোধে নিম্নলিখিত তথ্যগুলো দিন:
-
chat.spaces.pinsঅথবাchat.spacesঅনুমোদনের পরিধি নির্দিষ্ট করুন। -
messagePins.createকল করুন। -
parent(স্পেসের নাম) নির্দিষ্ট করুন এবং মূল মেসেজেরmessageরিসোর্স নামটি দিয়ে একটিbodyপ্রদান করুন।
নিম্নলিখিত নমুনাটি একটি স্পেসে একটি বার্তা পিন করে:
পাইথন
- আপনার ওয়ার্কিং ডিরেক্টরিতে
chat_pin_message.pyনামে একটি ফাইল তৈরি করুন। chat_pin_message.pyফাইলে নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"] def main(): ''' Authenticates with Chat API via user credentials, then pins a message in a space. ''' # 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. service = build('chat', 'v1', credentials=creds) # Pin a message. result = service.spaces().messagePins().create( # The space to pin the message in. # # Replace SPACE with a space ID or name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to pin. body={ 'message': 'spaces/SPACE/messages/MESSAGE' } ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()কোডে নিম্নলিখিতটি প্রতিস্থাপন করুন:
আপনার ওয়ার্কিং ডিরেক্টরিতে, স্যাম্পলটি বিল্ড ও রান করুন:
python3 chat_pin_message.py
একটি বার্তা আনপিন করুন
ব্যবহারকারী প্রমাণীকরণের মাধ্যমে কোনো বার্তা আনপিন করতে, আপনার অনুরোধে নিম্নলিখিত তথ্যগুলো দিন:
-
chat.spaces.pinsঅথবাchat.spacesঅনুমোদনের পরিধি নির্দিষ্ট করুন। -
messagePins.deleteকল করুন। - যে
MessagePinমুছে ফেলতে চান, তার রিসোর্সnameসেট করুন।
মেসেজ আনপিন করার পদ্ধতি নিচে দেওয়া হলো:
পাইথন
- আপনার ওয়ার্কিং ডিরেক্টরিতে
chat_unpin_message.pyনামে একটি ফাইল তৈরি করুন। chat_unpin_message.pyফাইলে নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"] def main(): ''' Authenticates with Chat API via user credentials, then unpins a message from a space. ''' # 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. service = build('chat', 'v1', credentials=creds) # Unpin a message. result = service.spaces().messagePins().delete( # The resource name of the message pin to delete. # # Replace SPACE with a space ID or name, and MESSAGE with the message ID. name='spaces/SPACE/messagePins/MESSAGE' ).execute() print(result) if __name__ == '__main__': main()কোডে নিম্নলিখিতটি প্রতিস্থাপন করুন:
আপনার ওয়ার্কিং ডিরেক্টরিতে, স্যাম্পলটি বিল্ড ও রান করুন:
python3 chat_unpin_message.py
পিন করা বার্তাগুলির একটি তালিকা পান
আপনার অ্যাক্সেস আছে এমন স্পেসগুলিতে পিন করা মেসেজের তালিকা পেতে, ইউজার অথেন্টিকেশন ব্যবহার করুন এবং আপনার অনুরোধে নিম্নলিখিত তথ্যগুলো দিন:
- নিম্নলিখিত রিডিং স্কোপগুলির মধ্যে একটি নির্দিষ্ট করুন:
chat.spaces.pins.readonly,chat.spaces.readonly,chat.spaces.pins, অথবাchat.spaces। -
messagePins.listকে কল করুন। - পিন করা বার্তাগুলি আনার জন্য স্পেসের নাম হিসেবে
parent' উল্লেখ করুন।
পিন করা মেসেজগুলো তালিকাভুক্ত করার উপায় নিচে দেওয়া হলো:
পাইথন
- আপনার ওয়ার্কিং ডিরেক্টরিতে
chat_list_pinned_messages.pyনামে একটি ফাইল তৈরি করুন। chat_list_pinned_messages.pyফাইলে নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists pinned messages in a space. ''' # 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. service = build('chat', 'v1', credentials=creds) # List pinned messages. result = service.spaces().messagePins().list( # The space to list pinned messages from. # # Replace SPACE with a space ID or name. parent='spaces/SPACE' ).execute() print(result) if __name__ == '__main__': main()কোডে, স্পেসের
nameথেকে স্পেস আইডি দিয়েSPACEপ্রতিস্থাপন করুন।আপনার ওয়ার্কিং ডিরেক্টরিতে, স্যাম্পলটি বিল্ড ও রান করুন:
python3 chat_list_pinned_messages.py
সম্পর্কিত বিষয়
- একটি বার্তা বিন্যাস করুন ।
- একটি বার্তা মুছে ফেলুন ।
- একটি বার্তা সম্পর্কে বিস্তারিত জানুন ।
- একটি স্পেসে বার্তাগুলির তালিকা তৈরি করুন ।
- একটি বার্তা হালনাগাদ করুন ।
- একটি বার্তা পাঠান ।