এই ডকুমেন্টে বর্ণনা করা হয়েছে যে কীভাবে পুশ নোটিফিকেশন ব্যবহার করবেন যা আপনার অ্যাপ্লিকেশনকে কোনও রিসোর্স পরিবর্তনের সময় অবহিত করে।
সংক্ষিপ্ত বিবরণ
ডিরেক্টরি API পুশ নোটিফিকেশন প্রদান করে যা আপনাকে রিসোর্সে পরিবর্তনগুলি পর্যবেক্ষণ করতে দেয়। আপনি আপনার অ্যাপ্লিকেশনের কর্মক্ষমতা উন্নত করতে এই বৈশিষ্ট্যটি ব্যবহার করতে পারেন। এটি আপনাকে অতিরিক্ত নেটওয়ার্ক বাদ দিতে এবং পোলিং রিসোর্সের সাথে জড়িত খরচ গণনা করতে দেয় যাতে তারা পরিবর্তিত হয়েছে কিনা তা নির্ধারণ করা যায়। যখনই কোনও ওয়াচড রিসোর্স পরিবর্তন হয়, তখন ডিরেক্টরি API আপনার অ্যাপ্লিকেশনকে অবহিত করে।
পুশ নোটিফিকেশন ব্যবহার করতে, আপনাকে দুটি জিনিস করতে হবে:
আপনার রিসিভিং URL অথবা "webhook" কলব্যাক রিসিভার সেট আপ করুন।
এটি একটি HTTPS সার্ভার যা API বিজ্ঞপ্তি বার্তাগুলি পরিচালনা করে যা কোনও সংস্থান পরিবর্তনের সময় ট্রিগার হয়।
আপনি যে রিসোর্স এন্ডপয়েন্টটি দেখতে চান তার জন্য একটি ( বিজ্ঞপ্তি চ্যানেল ) সেট আপ করুন।
একটি চ্যানেল বিজ্ঞপ্তি বার্তাগুলির জন্য রাউটিং তথ্য নির্দিষ্ট করে। চ্যানেল সেটআপের অংশ হিসাবে, আপনাকে অবশ্যই সেই নির্দিষ্ট URL টি চিহ্নিত করতে হবে যেখানে আপনি বিজ্ঞপ্তি পেতে চান। যখনই কোনও চ্যানেলের রিসোর্স পরিবর্তন হয়, তখন ডিরেক্টরি API সেই URL এ
POSTঅনুরোধ হিসাবে একটি বিজ্ঞপ্তি বার্তা পাঠায়।
বর্তমানে, ডিরেক্টরি API ব্যবহারকারীদের রিসোর্সে পরিবর্তনের জন্য বিজ্ঞপ্তি সমর্থন করে।
বিজ্ঞপ্তি চ্যানেল তৈরি করুন
পুশ নোটিফিকেশনের অনুরোধ করতে, আপনি যে রিসোর্সটি পর্যবেক্ষণ করতে চান তার জন্য আপনাকে একটি নোটিফিকেশন চ্যানেল সেট আপ করতে হবে। আপনার নোটিফিকেশন চ্যানেল সেট আপ হওয়ার পরে, কোনও দেখা রিসোর্স পরিবর্তন হলে ডিরেক্টরি API আপনার অ্যাপ্লিকেশনকে অবহিত করে।
ঘড়ির অনুরোধ করুন
প্রতিটি দেখার যোগ্য ডিরেক্টরি API রিসোর্সের নিম্নলিখিত ফর্মের একটি URI-তে একটি সংশ্লিষ্ট watch পদ্ধতি থাকে:
https://www.googleapis.com/API_NAME/API_VERSION/RESOURCE_PATH/watch
একটি নির্দিষ্ট রিসোর্সে পরিবর্তন সম্পর্কে বার্তাগুলির জন্য একটি বিজ্ঞপ্তি চ্যানেল সেট আপ করতে, রিসোর্সের জন্য watch পদ্ধতিতে একটি POST অনুরোধ পাঠান।
প্রতিটি বিজ্ঞপ্তি চ্যানেল একটি নির্দিষ্ট ব্যবহারকারী এবং একটি নির্দিষ্ট সংস্থান (অথবা সংস্থানগুলির সেট) উভয়ের সাথেই যুক্ত। বর্তমান ব্যবহারকারী বা পরিষেবা অ্যাকাউন্টের মালিকানা না থাকলে বা এই সংস্থানটি অ্যাক্সেস করার অনুমতি না থাকলে একটি watch অনুরোধ সফল হবে না।
উদাহরণ
একটি একক ডোমেনের জন্য User সম্পদের জন্য সমস্ত ওয়াচ অনুরোধের সাধারণ রূপ রয়েছে:
POST https://admin.googleapis.com/admin/directory/v1/users/watch?domain=domain&event=event
Authorization: Bearer auth_token_for_current_user
Content-Type: application/json
{
"id": "01234567-89ab-cdef-0123456789ab",
"type": "web_hook",
"address": "https://mydomain.com/notifications",
...
"token": "target=myApp-myFilesChannelDest",
"params": {
"ttl": 3600
}
} অনুরোধের বডিতে, আপনার চ্যানেল id , web_hook type এবং address আপনার গ্রহণকারী URL প্রদান করুন। আপনি ঐচ্ছিকভাবেও প্রদান করতে পারেন:
- আপনার চ্যানেল টোকেন হিসেবে ব্যবহারের জন্য একটি
token। - এই চ্যানেলের জন্য কয়েক সেকেন্ডের মধ্যে টাইম-টু-লাইভ অনুরোধ করার জন্য
paramsএকটিttl।
আপনি যে ডোমেন এবং ইভেন্টের ধরণের বিজ্ঞপ্তি পেতে চান তা নির্দিষ্ট করতে domain এবং event প্যারামিটার ব্যবহার করুন।
গ্রাহকের জন্য ব্যবহারকারীর রিসোর্সের জন্য সমস্ত ঘড়ির অনুরোধের সাধারণ রূপ রয়েছে:
POST https://admin.googleapis.com/admin/directory/users/v1/watch?customer=customer&event=event
Authorization: Bearer auth_token_for_current_user
Content-Type: application/json
{
"id": "01234567-89ab-cdef-0123456789ab",
"type": "web_hook",
"address": "https://mydomain.com/notifications",
...
"token": "target=myApp-myFilesChannelDest",
"params": {
"ttl": 3600
}
}customer এবং event প্যারামিটার ব্যবহার করে গ্রাহকের Google অ্যাকাউন্টের অনন্য আইডি এবং আপনি যে ধরণের ইভেন্টের জন্য বিজ্ঞপ্তি পেতে চান তা নির্দিষ্ট করুন।
event সম্ভাব্য মানগুলি হল:
-
add: ব্যবহারকারীর তৈরি ইভেন্ট -
delete: ব্যবহারকারীর মুছে ফেলা ইভেন্ট -
makeAdmin: ব্যবহারকারী অ্যাডমিনের অবস্থা পরিবর্তনের ঘটনা -
undelete: ব্যবহারকারীর মুছে ফেলা ইভেন্ট -
update: ব্যবহারকারী আপডেট ইভেন্ট
দ্রষ্টব্য: স্পষ্টতার জন্য নিম্নলিখিত উদাহরণগুলিতে অনুরোধের মূল অংশটি বাদ দেওয়া হয়েছে।
mydomain.com ডোমেনের জন্য ব্যবহারকারীর তৈরি ইভেন্টগুলি দেখুন:
POST https://admin.googleapis.com/admin/directory/v1/users/watch?domain=mydomain.com&event=add
গ্রাহক my_customer এর জন্য ব্যবহারকারীর তৈরি ইভেন্টগুলি দেখুন:
POST https://admin.googleapis.com/admin/directory/v1/users/watch?customer=my_customer&event=add
প্রয়োজনীয় বৈশিষ্ট্য
প্রতিটি watch অনুরোধের সাথে, আপনাকে এই ক্ষেত্রগুলি অবশ্যই প্রদান করতে হবে:
একটি
idপ্রপার্টি স্ট্রিং যা আপনার প্রোজেক্টের মধ্যে এই নতুন বিজ্ঞপ্তি চ্যানেলটিকে অনন্যভাবে শনাক্ত করে। আমরা একটি সর্বজনীন অনন্য শনাক্তকারী ( UUID ) বা অনুরূপ যেকোনো অনন্য স্ট্রিং ব্যবহার করার পরামর্শ দিচ্ছি। সর্বাধিক দৈর্ঘ্য: 64 অক্ষর।আপনার সেট করা আইডি মানটি এই চ্যানেলের জন্য প্রাপ্ত প্রতিটি বিজ্ঞপ্তি বার্তার
X-Goog-Channel-IdHTTP হেডারে প্রতিধ্বনিত হবে।একটি
typeপ্রোপার্টি স্ট্রিং যাweb_hookমানের সাথে সেট করা আছে।এই বিজ্ঞপ্তি চ্যানেলের জন্য বিজ্ঞপ্তিগুলি শোনা এবং প্রতিক্রিয়া জানানোর জন্য URL-এ সেট করা একটি
addressসম্পত্তি স্ট্রিং। এটি আপনার ওয়েবহুক কলব্যাক URL, এবং এটি অবশ্যই HTTPS ব্যবহার করবে।মনে রাখবেন যে আপনার ওয়েব সার্ভারে একটি বৈধ SSL সার্টিফিকেট ইনস্টল থাকলেই ডিরেক্টরি API এই HTTPS ঠিকানায় বিজ্ঞপ্তি পাঠাতে সক্ষম। অবৈধ সার্টিফিকেটের মধ্যে রয়েছে:
- স্ব-স্বাক্ষরিত সার্টিফিকেট।
- একটি অবিশ্বস্ত উৎস দ্বারা স্বাক্ষরিত সার্টিফিকেট।
- যেসব সার্টিফিকেট বাতিল করা হয়েছে।
- যেসব সার্টিফিকেটের বিষয় লক্ষ্য হোস্টনামের সাথে মেলে না।
ঐচ্ছিক বৈশিষ্ট্য
আপনার watch অনুরোধের সাথে আপনি এই ঐচ্ছিক ক্ষেত্রগুলিও নির্দিষ্ট করতে পারেন:
একটি
tokenপ্রপার্টি যা চ্যানেল টোকেন হিসেবে ব্যবহারের জন্য একটি নির্বিচারে স্ট্রিং মান নির্দিষ্ট করে। আপনি বিভিন্ন উদ্দেশ্যে বিজ্ঞপ্তি চ্যানেল টোকেন ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি টোকেনটি ব্যবহার করে যাচাই করতে পারেন যে প্রতিটি আগত বার্তা আপনার অ্যাপ্লিকেশন দ্বারা তৈরি করা চ্যানেলের জন্য - বিজ্ঞপ্তিটি জাল করা হচ্ছে না তা নিশ্চিত করতে - অথবা এই চ্যানেলের উদ্দেশ্যের উপর ভিত্তি করে আপনার অ্যাপ্লিকেশনের মধ্যে বার্তাটিকে সঠিক গন্তব্যে রুট করতে পারেন। সর্বোচ্চ দৈর্ঘ্য: ২৫৬ অক্ষর।এই চ্যানেলের জন্য আপনার অ্যাপ্লিকেশন যে প্রতিটি বিজ্ঞপ্তি বার্তা পায়, তাতে টোকেনটি
X-Goog-Channel-TokenHTTP হেডারে অন্তর্ভুক্ত থাকে।আপনি যদি বিজ্ঞপ্তি চ্যানেল টোকেন ব্যবহার করেন, তাহলে আমরা আপনাকে সুপারিশ করব যে:
একটি এক্সটেনসিবল এনকোডিং ফর্ম্যাট ব্যবহার করুন, যেমন URL কোয়েরি প্যারামিটার। উদাহরণ:
forwardTo=hr&createdBy=mobileOAuth টোকেনের মতো সংবেদনশীল ডেটা অন্তর্ভুক্ত করবেন না।
এই বিজ্ঞপ্তি চ্যানেলের জন্য যখন আপনি ডিরেক্টরি API বার্তা পাঠানো বন্ধ করতে চান, তখন একটি
expirationসম্পত্তি স্ট্রিং একটি ইউনিক্স টাইমস্ট্যাম্পে (মিলিসেকেন্ডে) সেট করা থাকে।যদি কোনও চ্যানেলের মেয়াদ শেষ হওয়ার সময় থাকে, তাহলে আপনার অ্যাপ্লিকেশনটি এই চ্যানেলের জন্য প্রাপ্ত প্রতিটি বিজ্ঞপ্তি বার্তায়
X-Goog-Channel-ExpirationHTTP হেডারের (মানব-পঠনযোগ্য ফর্ম্যাটে) মান হিসাবে এটি অন্তর্ভুক্ত করা হয়।
অনুরোধ সম্পর্কে আরও বিস্তারিত জানার জন্য, API রেফারেন্সে ব্যবহারকারীদের রিসোর্সের জন্য watch পদ্ধতিটি দেখুন।
ঘড়ির প্রতিক্রিয়া
যদি watch অনুরোধটি সফলভাবে একটি বিজ্ঞপ্তি চ্যানেল তৈরি করে, তাহলে এটি একটি HTTP 200 OK স্ট্যাটাস কোড প্রদান করে।
ঘড়ির প্রতিক্রিয়ার বার্তার মূল অংশটি আপনার তৈরি করা বিজ্ঞপ্তি চ্যানেল সম্পর্কে তথ্য প্রদান করে, যেমনটি নীচের উদাহরণে দেখানো হয়েছে।
{
"kind": "api#channel",
"id": "01234567-89ab-cdef-0123456789ab",
"resourceId": "B4ibMJiIhTjAQd7Ff2K2bexk8G4",
"resourceUri": "https://admin.googleapis.com/admin/directory/v1/users?domain=domain&event=event",
"token": "target=myApp-myFilesChannelDest",
"expiration": 1384823632000
}প্রতিক্রিয়া সংস্থাটি চ্যানেলের বিবরণ প্রদান করে যেমন:
-
id: এই চ্যানেলের জন্য আপনার নির্দিষ্ট করা আইডি। -
resourceId: দেখা রিসোর্সের আইডি। -
resourceUri: দেখা রিসোর্সের সংস্করণ-নির্দিষ্ট আইডি। -
token: অনুরোধের মূল অংশে প্রদত্ত টোকেন। -
expiration: ইউনিক্স টাইমস্ট্যাম্প হিসেবে চ্যানেলের মেয়াদোত্তীর্ণতা মিলিসেকেন্ডে।
আপনার অনুরোধের অংশ হিসেবে পাঠানো বৈশিষ্ট্যগুলি ছাড়াও, ফেরত দেওয়া তথ্যে resourceId এবং resourceUri ও অন্তর্ভুক্ত থাকে যা এই বিজ্ঞপ্তি চ্যানেলে দেখা রিসোর্সটি সনাক্ত করে।
আপনি ফেরত দেওয়া তথ্য অন্যান্য বিজ্ঞপ্তি চ্যানেল অপারেশনে পাঠাতে পারেন, যেমন যখন আপনি বিজ্ঞপ্তি পাওয়া বন্ধ করতে চান।
প্রতিক্রিয়া সম্পর্কে আরও বিস্তারিত জানার জন্য, API রেফারেন্সে ব্যবহারকারীদের রিসোর্সের জন্য watch পদ্ধতিটি দেখুন।
বার্তা সিঙ্ক করুন
একটি রিসোর্স দেখার জন্য একটি বিজ্ঞপ্তি চ্যানেল তৈরি করার পরে, Directory API একটি sync বার্তা পাঠায় যা নির্দেশ করে যে বিজ্ঞপ্তিগুলি শুরু হচ্ছে। এই বার্তাগুলির জন্য X-Goog-Resource-State HTTP হেডার মান হল sync । নেটওয়ার্ক টাইমিং সমস্যার কারণে, আপনি watch পদ্ধতির প্রতিক্রিয়া পাওয়ার আগেই sync বার্তাটি পাওয়া সম্ভব।
sync বিজ্ঞপ্তি উপেক্ষা করা নিরাপদ, তবে আপনি এটি ব্যবহারও করতে পারেন। উদাহরণস্বরূপ, যদি আপনি সিদ্ধান্ত নেন যে আপনি চ্যানেলটি রাখতে চান না, তাহলে বিজ্ঞপ্তি পাওয়া বন্ধ করার জন্য আপনি একটি কলে X-Goog-Channel-ID এবং X-Goog-Resource-ID মান ব্যবহার করতে পারেন। পরবর্তী ইভেন্টগুলির জন্য প্রস্তুতি নেওয়ার জন্য আপনি কিছু প্রাথমিককরণ করতে sync বিজ্ঞপ্তি ব্যবহার করতে পারেন।
ডিরেক্টরি API আপনার রিসিভিং URL-এ যে sync বার্তাগুলি পাঠায় তার ফর্ম্যাটটি নীচে দেখানো হয়েছে।
POST https://mydomain.com/notifications // Your receiving URL. X-Goog-Channel-ID: channel-ID-value X-Goog-Channel-Token: channel-token-value X-Goog-Channel-Expiration: expiration-date-and-time // In human-readable format. Present only if the channel expires. X-Goog-Resource-ID: identifier-for-the-watched-resource X-Goog-Resource-URI: version-specific-URI-of-the-watched-resource X-Goog-Resource-State: sync X-Goog-Message-Number: 1
সিঙ্ক বার্তাগুলির সর্বদা একটি X-Goog-Message-Number HTTP হেডার মান 1 থাকে। এই চ্যানেলের জন্য প্রতিটি পরবর্তী বিজ্ঞপ্তিতে একটি বার্তা নম্বর থাকে যা পূর্ববর্তীটির চেয়ে বড়, যদিও বার্তা নম্বরগুলি ক্রমানুসারে থাকবে না।
বিজ্ঞপ্তি চ্যানেলগুলি পুনর্নবীকরণ করুন
একটি বিজ্ঞপ্তি চ্যানেলের একটি মেয়াদোত্তীর্ণ সময় থাকতে পারে, যার মান আপনার অনুরোধ বা যেকোনো ডিরেক্টরি API অভ্যন্তরীণ সীমা বা ডিফল্ট দ্বারা নির্ধারিত হয় (যে মানটি আরও সীমাবদ্ধ হবে তা ব্যবহার করা হবে)। চ্যানেলের মেয়াদোত্তীর্ণ সময়, যদি থাকে, তাহলে watch পদ্ধতি দ্বারা প্রদত্ত তথ্যে ইউনিক্স টাইমস্ট্যাম্প (মিলিসেকেন্ডে) হিসাবে অন্তর্ভুক্ত করা হয়। এছাড়াও, X-Goog-Channel-Expiration HTTP হেডারে এই চ্যানেলের জন্য আপনার অ্যাপ্লিকেশনটি যে প্রতিটি বিজ্ঞপ্তি বার্তা পায় তাতে মেয়াদোত্তীর্ণের তারিখ এবং সময় (মানব-পঠনযোগ্য ফর্ম্যাটে) অন্তর্ভুক্ত করা হয়।
বর্তমানে, কোনও বিজ্ঞপ্তি চ্যানেল পুনর্নবীকরণের কোনও স্বয়ংক্রিয় উপায় নেই। যখন কোনও চ্যানেলের মেয়াদ শেষ হওয়ার কাছাকাছি থাকে, তখন আপনাকে অবশ্যই watch পদ্ধতিটি কল করে একটি নতুন দিয়ে এটি প্রতিস্থাপন করতে হবে। সর্বদা হিসাবে, আপনাকে নতুন চ্যানেলের id বৈশিষ্ট্যের জন্য একটি অনন্য মান ব্যবহার করতে হবে। মনে রাখবেন যে একই রিসোর্সের জন্য দুটি বিজ্ঞপ্তি চ্যানেল সক্রিয় থাকাকালীন একটি "ওভারল্যাপ" সময়কাল থাকার সম্ভাবনা রয়েছে।
বিজ্ঞপ্তি গ্রহণ করুন
যখনই কোনও পর্যবেক্ষণকৃত রিসোর্স পরিবর্তন হয়, তখন আপনার অ্যাপ্লিকেশনটি পরিবর্তনটি বর্ণনা করে একটি বিজ্ঞপ্তি বার্তা পায়। ডিরেক্টরি API এই বার্তাগুলিকে HTTPS POST অনুরোধ হিসাবে এই বিজ্ঞপ্তি চ্যানেলের address সম্পত্তি হিসাবে আপনার নির্দিষ্ট করা URL-এ পাঠায়।
বিজ্ঞপ্তি বার্তার ফর্ম্যাটটি ব্যাখ্যা করুন
সমস্ত বিজ্ঞপ্তি বার্তায় HTTP হেডারের একটি সেট থাকে যার X-Goog- উপসর্গ থাকে। কিছু ধরণের বিজ্ঞপ্তিতে একটি বার্তার মূল অংশও অন্তর্ভুক্ত থাকতে পারে।
শিরোনাম
আপনার রিসিভিং URL-এ Directory API দ্বারা পোস্ট করা বিজ্ঞপ্তি বার্তাগুলিতে নিম্নলিখিত HTTP হেডারগুলি অন্তর্ভুক্ত থাকে:
| হেডার | বিবরণ |
|---|---|
| সর্বদা উপস্থিত | |
| এই বিজ্ঞপ্তি চ্যানেলটি সনাক্ত করার জন্য আপনার দেওয়া UUID অথবা অন্য কোনও অনন্য স্ট্রিং। |
| এই বিজ্ঞপ্তি চ্যানেলের জন্য এই বার্তাটি শনাক্তকারী পূর্ণসংখ্যা। sync বার্তাগুলির জন্য মান সর্বদা 1 চ্যানেলে প্রতিটি পরবর্তী বার্তার জন্য বার্তা সংখ্যা বৃদ্ধি পায়, কিন্তু সেগুলি ক্রমানুসারে হয় না। |
| একটি অস্বচ্ছ মান যা দেখা রিসোর্সটি সনাক্ত করে। এই আইডিটি API সংস্করণ জুড়ে স্থিতিশীল। |
| নতুন রিসোর্স অবস্থা যা বিজ্ঞপ্তিটি ট্রিগার করেছে। সম্ভাব্য মান: sync অথবা একটি ইভেন্টের নাম । |
| দেখা রিসোর্সের জন্য একটি API-সংস্করণ-নির্দিষ্ট শনাক্তকারী। |
| মাঝে মাঝে উপস্থিত | |
| বিজ্ঞপ্তি চ্যানেলের মেয়াদ শেষ হওয়ার তারিখ এবং সময়, মানুষের পঠনযোগ্য ফর্ম্যাটে প্রকাশ করা হয়েছে। শুধুমাত্র সংজ্ঞায়িত হলেই উপস্থিত। |
| আপনার অ্যাপ্লিকেশন দ্বারা সেট করা বিজ্ঞপ্তি চ্যানেল টোকেন, এবং আপনি বিজ্ঞপ্তির উৎস যাচাই করতে ব্যবহার করতে পারেন। শুধুমাত্র সংজ্ঞায়িত থাকলেই উপস্থিত থাকবে। |
ব্যবহারকারীদের জন্য বিজ্ঞপ্তি বার্তাগুলিতে অনুরোধের মূল অংশে নিম্নলিখিত তথ্য থাকে:
| সম্পত্তি | বিবরণ |
|---|---|
kind | এটিকে একটি ব্যবহারকারী সম্পদ হিসেবে চিহ্নিত করে। মান: স্থির স্ট্রিং " admin#directory#user "। |
id | ব্যবহারকারী সম্পদের অনন্য শনাক্তকারী। |
etag | বিজ্ঞপ্তি বার্তার ETag। ব্যবহারকারীর রিসোর্সের ETag থেকে আলাদা। |
primaryEmail | ব্যবহারকারীর প্রাথমিক ইমেল ঠিকানা। |
উদাহরণ
User রিসোর্স ইভেন্টের জন্য বিজ্ঞপ্তি বার্তাগুলির সাধারণ রূপ হল:
POST https://mydomain.com/notifications
Content-Type: application/json; utf-8
Content-Length: 0
X-Goog-Channel-ID: directoryApiId
X-Goog-Channel-Token: 398348u3tu83ut8uu38
X-Goog-Channel-Expiration: Tue, 29 Oct 2013 20:32:02 GMT
X-Goog-Resource-ID: ret08u3rv24htgh289g
X-Goog-Resource-URI: https://admin.googleapis.com/admin/directory/v1/users?domain=domain&event=event
X-Goog-Resource-State: event
X-Goog-Message-Number: 10
{
"kind": "admin#directory#user",
"id": long,
"etag": string,
"primaryEmail": string
}
ব্যবহারকারীর মুছে ফেলা ইভেন্টের একটি উদাহরণ:
POST https://mydomain.com/notifications
Content-Type: application/json; utf-8
Content-Length: 189
X-Goog-Channel-ID: deleteChannel
X-Goog-Channel-Token: 245t1234tt83trrt333
X-Goog-Channel-Expiration: Mon, 09 Dec 2013 22:24:23 GMT
X-Goog-Resource-ID: B4ibMJiIhTjAQd7Ff2K2bexk8G4
X-Goog-Resource-URI: https://admin.googleapis.com/admin/directory/v1/users?domain=mydomain.com&event=delete&alt=json
X-Goog-Resource-State: delete
X-Goog-Message-Number: 236440
{
"kind": "admin#directory#user",
"id": "111220860655841818702",
"etag": "\"Mf8RAmnABsVfQ47MMT_18MHAdRE/evLIDlz2Fd9zbAqwvIp7Pzq8UAw\"",
"primaryEmail": "user@mydomain.com"
}
বিজ্ঞপ্তির উত্তর দিন
সাফল্য নির্দেশ করতে, আপনি নিম্নলিখিত যেকোনো স্ট্যাটাস কোড ফেরত দিতে পারেন: 200 , 201 , 202 , 204 , অথবা 102 ।
যদি আপনার পরিষেবা Google এর API ক্লায়েন্ট লাইব্রেরি ব্যবহার করে এবং 500 , 502 , 503 , অথবা 504 রিটার্ন করে, তাহলে Directory API এক্সপোনেনশিয়াল ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করে। অন্য প্রতিটি রিটার্ন স্ট্যাটাস কোডকে একটি বার্তা ব্যর্থতা হিসাবে বিবেচনা করা হয়।
বিজ্ঞপ্তি বন্ধ করুন
expiration বৈশিষ্ট্যটি নিয়ন্ত্রণ করে কখন বিজ্ঞপ্তিগুলি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। আপনি নিম্নলিখিত URI-তে stop পদ্ধতিটি কল করে মেয়াদোত্তীর্ণ হওয়ার আগে একটি নির্দিষ্ট চ্যানেলের জন্য বিজ্ঞপ্তিগুলি পাওয়া বন্ধ করতে পারেন:
https://www.googleapis.com/admin/directory_v1/channels/stop
এই পদ্ধতিতে আপনাকে কমপক্ষে চ্যানেলের id এবং resourceId বৈশিষ্ট্যগুলি প্রদান করতে হবে, যেমনটি নীচের উদাহরণে দেখানো হয়েছে। মনে রাখবেন যে যদি ডিরেক্টরি এপিআইতে বিভিন্ন ধরণের রিসোর্স থাকে যার watch পদ্ধতি রয়েছে, তবে কেবল একটি stop পদ্ধতি রয়েছে।
শুধুমাত্র সঠিক অনুমতিপ্রাপ্ত ব্যবহারকারীরা একটি চ্যানেল বন্ধ করতে পারবেন। বিশেষ করে:
- যদি চ্যানেলটি একটি নিয়মিত ব্যবহারকারী অ্যাকাউন্ট দ্বারা তৈরি করা হয়, তাহলে শুধুমাত্র একই ক্লায়েন্টের (auth টোকেন থেকে OAuth 2.0 ক্লায়েন্ট আইডি দ্বারা চিহ্নিত) একই ব্যবহারকারী যিনি চ্যানেলটি তৈরি করেছেন তিনিই চ্যানেলটি বন্ধ করতে পারবেন।
- যদি চ্যানেলটি কোনও পরিষেবা অ্যাকাউন্ট দ্বারা তৈরি করা হয়, তাহলে একই ক্লায়েন্টের যেকোনো ব্যবহারকারী চ্যানেলটি বন্ধ করতে পারবেন।
নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে বিজ্ঞপ্তি পাওয়া বন্ধ করতে হয়:
POST https://www.googleapis.com/admin/directory_v1/channels/stop
Authorization: Bearer CURRENT_USER_AUTH_TOKEN
Content-Type: application/json
{
"id": "4ba78bf0-6a47-11e2-bcfd-0800200c9a66",
"resourceId": "ret08u3rv24htgh289g"
}