এই ডকুমেন্টে বর্ণনা করা হয়েছে যে কীভাবে পুশ নোটিফিকেশন ব্যবহার করবেন যা আপনার অ্যাপ্লিকেশনকে কোনও রিসোর্স পরিবর্তনের সময় অবহিত করে।
সংক্ষিপ্ত বিবরণ
অ্যাডমিন SDK API পুশ নোটিফিকেশন প্রদান করে যা আপনাকে রিসোর্সে পরিবর্তনগুলি পর্যবেক্ষণ করতে দেয়। আপনি আপনার অ্যাপ্লিকেশনের কর্মক্ষমতা উন্নত করতে এই বৈশিষ্ট্যটি ব্যবহার করতে পারেন। এটি আপনাকে অতিরিক্ত নেটওয়ার্ক বাদ দিতে এবং পোলিং রিসোর্সের সাথে জড়িত খরচ গণনা করতে দেয় যাতে তারা পরিবর্তিত হয়েছে কিনা তা নির্ধারণ করা যায়। যখনই কোনও ওয়াচড রিসোর্স পরিবর্তন হয়, তখন অ্যাডমিন SDK API আপনার অ্যাপ্লিকেশনটিকে অবহিত করে।
পুশ নোটিফিকেশন ব্যবহার করতে, আপনাকে দুটি জিনিস করতে হবে:
আপনার রিসিভিং URL অথবা "webhook" কলব্যাক রিসিভার সেট আপ করুন।
এটি একটি HTTPS সার্ভার যা API বিজ্ঞপ্তি বার্তাগুলি পরিচালনা করে যা কোনও সংস্থান পরিবর্তনের সময় ট্রিগার হয়।
আপনি যে রিসোর্স এন্ডপয়েন্টটি দেখতে চান তার জন্য একটি ( বিজ্ঞপ্তি চ্যানেল ) সেট আপ করুন।
একটি চ্যানেল বিজ্ঞপ্তি বার্তাগুলির জন্য রাউটিং তথ্য নির্দিষ্ট করে। চ্যানেল সেটআপের অংশ হিসাবে, আপনাকে অবশ্যই সেই নির্দিষ্ট URL টি চিহ্নিত করতে হবে যেখানে আপনি বিজ্ঞপ্তি পেতে চান। যখনই কোনও চ্যানেলের রিসোর্স পরিবর্তন হয়, তখন অ্যাডমিন SDK API সেই URL এ
POSTঅনুরোধ হিসাবে একটি বিজ্ঞপ্তি বার্তা পাঠায়।
বর্তমানে, অ্যাডমিন SDK API অ্যাক্টিভিটিস রিসোর্সে পরিবর্তনের জন্য বিজ্ঞপ্তি সমর্থন করে।
বিজ্ঞপ্তি চ্যানেল তৈরি করুন
পুশ নোটিফিকেশনের অনুরোধ করার জন্য, আপনি যে রিসোর্সটি পর্যবেক্ষণ করতে চান তার জন্য আপনাকে একটি নোটিফিকেশন চ্যানেল সেট আপ করতে হবে। আপনার নোটিফিকেশন চ্যানেল সেট আপ হওয়ার পরে, কোনও দেখা রিসোর্স পরিবর্তন হলে অ্যাডমিন SDK API আপনার অ্যাপ্লিকেশনকে অবহিত করে।
ঘড়ির অনুরোধ করুন
প্রতিটি দেখার যোগ্য অ্যাডমিন SDK API রিসোর্সের নিম্নলিখিত ফর্মের একটি URI-তে একটি সংশ্লিষ্ট watch পদ্ধতি থাকে:
https://www.googleapis.com/API_NAME/API_VERSION/RESOURCE_PATH/watch
একটি নির্দিষ্ট রিসোর্সে পরিবর্তন সম্পর্কে বার্তাগুলির জন্য একটি বিজ্ঞপ্তি চ্যানেল সেট আপ করতে, রিসোর্সের জন্য watch পদ্ধতিতে একটি POST অনুরোধ পাঠান।
প্রতিটি বিজ্ঞপ্তি চ্যানেল একটি নির্দিষ্ট ব্যবহারকারী এবং একটি নির্দিষ্ট সংস্থান (অথবা সংস্থানগুলির সেট) উভয়ের সাথেই যুক্ত। বর্তমান ব্যবহারকারী বা পরিষেবা অ্যাকাউন্টের মালিকানা না থাকলে বা এই সংস্থানটি অ্যাক্সেস করার অনুমতি না থাকলে একটি watch অনুরোধ সফল হবে না।
উদাহরণ
অ্যাক্টিভিটিস রিসোর্সের জন্য সমস্ত ওয়াচ রিকোয়েস্টের সাধারণ ফর্ম হল:
POST https://admin.googleapis.com/admin/reports/v1/activity/users/userKey or all/applications/applicationName/watch
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",
"payload": true,
"expiration": 3600
}অনুরোধের বডিতে নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
-
id: একটি UUID অথবা অনুরূপ অনন্য স্ট্রিং যা এই চ্যানেলটিকে সনাক্ত করে। -
type: ডেলিভারি মেকানিজমের ধরণ। এই ফিল্ডের মান অবশ্যইweb_hookহতে হবে। -
address: যে URL থেকে বিজ্ঞপ্তি পাঠানো হয়। -
token: প্রতিটি বিজ্ঞপ্তির সাথে লক্ষ্য ঠিকানায় একটি ইচ্ছামত স্ট্রিং সরবরাহ করা হয়, যাতে নিশ্চিত করা যায় যে বিজ্ঞপ্তিটি কোনও বিশ্বস্ত উৎস থেকে এসেছে। -
payload: একটি বুলিয়ান পতাকা যা নির্দেশ করে যে পেলোডটি বিজ্ঞপ্তিতে অন্তর্ভুক্ত করা উচিত কিনা। -
expiration: বিজ্ঞপ্তি চ্যানেলের জন্য সেকেন্ডে লাইভ টাইম।
আপনি userKey , applicationName , eventName এবং filters প্যারামিটার ব্যবহার করে শুধুমাত্র নির্দিষ্ট ইভেন্ট, ব্যবহারকারী বা অ্যাপ্লিকেশনের জন্য বিজ্ঞপ্তি পেতে পারেন।
দ্রষ্টব্য: স্পষ্টতার জন্য নিম্নলিখিত উদাহরণগুলিতে অনুরোধের মূল অংশটি বাদ দেওয়া হয়েছে।
সকল অ্যাডমিন কার্যকলাপের উপর নজর রাখুন:
POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/admin/watch
সমস্ত ডক্স কার্যকলাপের জন্য নজর রাখুন:
POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/docs/watch
নির্দিষ্ট ব্যবহারকারীর অ্যাডমিন কার্যকলাপের দিকে নজর রাখুন:
POST https://admin.googleapis.com/admin/reports/v1/activity/users/liz@example.com/applications/admin/watch
কোনও নির্দিষ্ট ঘটনার জন্য সতর্ক থাকুন, যেমন ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করা:
POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/admin/watch?eventName=CHANGE_PASSWORD
নির্দিষ্ট নথিতে পরিবর্তনের জন্য লক্ষ্য করুন:
POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/docs/watch?eventName=EDIT&filters==doc_id=123456abcdef
প্রয়োজনীয় বৈশিষ্ট্য
প্রতিটি watch অনুরোধের সাথে, আপনাকে এই ক্ষেত্রগুলি অবশ্যই প্রদান করতে হবে:
একটি
idপ্রপার্টি স্ট্রিং যা আপনার প্রোজেক্টের মধ্যে এই নতুন বিজ্ঞপ্তি চ্যানেলটিকে অনন্যভাবে শনাক্ত করে। আমরা একটি সর্বজনীন অনন্য শনাক্তকারী ( UUID ) বা অনুরূপ যেকোনো অনন্য স্ট্রিং ব্যবহার করার পরামর্শ দিচ্ছি। সর্বাধিক দৈর্ঘ্য: 64 অক্ষর।আপনার সেট করা আইডি মানটি এই চ্যানেলের জন্য প্রাপ্ত প্রতিটি বিজ্ঞপ্তি বার্তার
X-Goog-Channel-IdHTTP হেডারে প্রতিধ্বনিত হবে।একটি
typeপ্রোপার্টি স্ট্রিং যাweb_hookমানের সাথে সেট করা আছে।এই বিজ্ঞপ্তি চ্যানেলের জন্য বিজ্ঞপ্তিগুলি শোনা এবং প্রতিক্রিয়া জানানোর জন্য URL-এ সেট করা একটি
addressসম্পত্তি স্ট্রিং। এটি আপনার ওয়েবহুক কলব্যাক URL, এবং এটি অবশ্যই HTTPS ব্যবহার করবে।মনে রাখবেন যে অ্যাডমিন SDK API শুধুমাত্র তখনই এই HTTPS ঠিকানায় বিজ্ঞপ্তি পাঠাতে সক্ষম যদি আপনার ওয়েব সার্ভারে একটি বৈধ SSL সার্টিফিকেট ইনস্টল করা থাকে। অবৈধ সার্টিফিকেটের মধ্যে রয়েছে:
- স্ব-স্বাক্ষরিত সার্টিফিকেট।
- একটি অবিশ্বস্ত উৎস দ্বারা স্বাক্ষরিত সার্টিফিকেট।
- যেসব সার্টিফিকেট বাতিল করা হয়েছে।
- যেসব সার্টিফিকেটের বিষয় লক্ষ্য হোস্টনামের সাথে মেলে না।
ঐচ্ছিক বৈশিষ্ট্য
আপনার watch অনুরোধের সাথে আপনি এই ঐচ্ছিক ক্ষেত্রগুলিও নির্দিষ্ট করতে পারেন:
একটি
tokenপ্রপার্টি যা চ্যানেল টোকেন হিসেবে ব্যবহারের জন্য একটি নির্বিচারে স্ট্রিং মান নির্দিষ্ট করে। আপনি বিভিন্ন উদ্দেশ্যে বিজ্ঞপ্তি চ্যানেল টোকেন ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি টোকেনটি ব্যবহার করে যাচাই করতে পারেন যে প্রতিটি আগত বার্তা আপনার অ্যাপ্লিকেশন দ্বারা তৈরি করা চ্যানেলের জন্য - বিজ্ঞপ্তিটি জাল করা হচ্ছে না তা নিশ্চিত করতে - অথবা এই চ্যানেলের উদ্দেশ্যের উপর ভিত্তি করে আপনার অ্যাপ্লিকেশনের মধ্যে বার্তাটিকে সঠিক গন্তব্যে রুট করতে পারেন। সর্বোচ্চ দৈর্ঘ্য: ২৫৬ অক্ষর।এই চ্যানেলের জন্য আপনার অ্যাপ্লিকেশন যে প্রতিটি বিজ্ঞপ্তি বার্তা পায়, তাতে টোকেনটি
X-Goog-Channel-TokenHTTP হেডারে অন্তর্ভুক্ত থাকে।আপনি যদি বিজ্ঞপ্তি চ্যানেল টোকেন ব্যবহার করেন, তাহলে আমরা আপনাকে সুপারিশ করব যে:
একটি এক্সটেনসিবল এনকোডিং ফর্ম্যাট ব্যবহার করুন, যেমন URL কোয়েরি প্যারামিটার। উদাহরণ:
forwardTo=hr&createdBy=mobileOAuth টোকেনের মতো সংবেদনশীল ডেটা অন্তর্ভুক্ত করবেন না।
এই বিজ্ঞপ্তি চ্যানেলের জন্য যখন আপনি অ্যাডমিন SDK API বার্তা পাঠানো বন্ধ করতে চান, তখন একটি
expirationসম্পত্তি স্ট্রিং একটি Unix টাইমস্ট্যাম্পে (মিলিসেকেন্ডে) সেট করা থাকে।যদি কোনও চ্যানেলের মেয়াদ শেষ হওয়ার সময় থাকে, তাহলে আপনার অ্যাপ্লিকেশনটি এই চ্যানেলের জন্য প্রাপ্ত প্রতিটি বিজ্ঞপ্তি বার্তায়
X-Goog-Channel-ExpirationHTTP হেডারের (মানব-পঠনযোগ্য ফর্ম্যাটে) মান হিসাবে এটি অন্তর্ভুক্ত করা হয়।
অনুরোধ সম্পর্কে আরও বিস্তারিত জানার জন্য, API রেফারেন্সে Activities রিসোর্সের জন্য watch পদ্ধতিটি দেখুন।
ঘড়ির প্রতিক্রিয়া
যদি watch অনুরোধটি সফলভাবে একটি বিজ্ঞপ্তি চ্যানেল তৈরি করে, তাহলে এটি একটি HTTP 200 OK স্ট্যাটাস কোড প্রদান করে।
ঘড়ির প্রতিক্রিয়ার বার্তার মূল অংশটি আপনার তৈরি করা বিজ্ঞপ্তি চ্যানেল সম্পর্কে তথ্য প্রদান করে, যেমনটি নীচের উদাহরণে দেখানো হয়েছে।
{
"kind": "api#channel",
"id": "reportsApiId",
"resourceId": "o3hgv1538sdjfh",
"resourceUri": "https://admin.googleapis.com/admin/reports/v1/activity/userKey/applications/applicationName",
"token": "target=myApp-myFilesChannelDest",
"expiration": 3600
} আপনার অনুরোধের অংশ হিসেবে পাঠানো বৈশিষ্ট্যগুলি ছাড়াও, ফেরত দেওয়া তথ্যে resourceId এবং resourceUri ও অন্তর্ভুক্ত থাকে যা এই বিজ্ঞপ্তি চ্যানেলে দেখা রিসোর্সটি সনাক্ত করে।
আপনি ফেরত দেওয়া তথ্য অন্যান্য বিজ্ঞপ্তি চ্যানেল অপারেশনে পাঠাতে পারেন, যেমন যখন আপনি বিজ্ঞপ্তি পাওয়া বন্ধ করতে চান।
প্রতিক্রিয়া সম্পর্কে আরও বিস্তারিত জানার জন্য, API রেফারেন্সে Activities রিসোর্সের জন্য watch পদ্ধতিটি দেখুন।
বার্তা সিঙ্ক করুন
কোনও রিসোর্স দেখার জন্য একটি বিজ্ঞপ্তি চ্যানেল তৈরি করার পরে, অ্যাডমিন SDK API একটি sync বার্তা পাঠায় যা নির্দেশ করে যে বিজ্ঞপ্তিগুলি শুরু হচ্ছে। এই বার্তাগুলির জন্য X-Goog-Resource-State HTTP হেডার মান হল sync । নেটওয়ার্ক টাইমিং সমস্যার কারণে, আপনি watch পদ্ধতির প্রতিক্রিয়া পাওয়ার আগেই sync বার্তাটি পাওয়া সম্ভব।
sync বিজ্ঞপ্তি উপেক্ষা করা নিরাপদ, তবে আপনি এটি ব্যবহারও করতে পারেন। উদাহরণস্বরূপ, যদি আপনি সিদ্ধান্ত নেন যে আপনি চ্যানেলটি রাখতে চান না, তাহলে বিজ্ঞপ্তি পাওয়া বন্ধ করার জন্য আপনি একটি কলে X-Goog-Channel-ID এবং X-Goog-Resource-ID মান ব্যবহার করতে পারেন। পরবর্তী ইভেন্টগুলির জন্য প্রস্তুতি নেওয়ার জন্য আপনি কিছু প্রাথমিককরণ করতে sync বিজ্ঞপ্তি ব্যবহার করতে পারেন।
আপনার রিসিভিং URL-এ অ্যাডমিন SDK API যে 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 থাকে। এই চ্যানেলের জন্য প্রতিটি পরবর্তী বিজ্ঞপ্তিতে একটি বার্তা নম্বর থাকে যা পূর্ববর্তীটির চেয়ে বড়, যদিও বার্তা নম্বরগুলি ক্রমানুসারে থাকবে না।
বিজ্ঞপ্তি চ্যানেলগুলি পুনর্নবীকরণ করুন
একটি বিজ্ঞপ্তি চ্যানেলের মেয়াদ শেষ হওয়ার সময় থাকতে পারে, যার মান আপনার অনুরোধ বা যেকোনো অ্যাডমিন SDK API অভ্যন্তরীণ সীমা বা ডিফল্ট দ্বারা নির্ধারিত হয় (যে মানটি আরও সীমাবদ্ধ হবে তা ব্যবহার করা হবে)। চ্যানেলের মেয়াদ শেষ হওয়ার সময়, যদি থাকে, তাহলে watch পদ্ধতি দ্বারা প্রদত্ত তথ্যে ইউনিক্স টাইমস্ট্যাম্প (মিলিসেকেন্ডে) হিসাবে অন্তর্ভুক্ত করা হয়। এছাড়াও, X-Goog-Channel-Expiration Expiration HTTP হেডারে এই চ্যানেলের জন্য আপনার অ্যাপ্লিকেশনটি যে প্রতিটি বিজ্ঞপ্তি বার্তা পায় তাতে মেয়াদ শেষ হওয়ার তারিখ এবং সময় (মানব-পঠনযোগ্য ফর্ম্যাটে) অন্তর্ভুক্ত করা হয়।
বর্তমানে, কোনও বিজ্ঞপ্তি চ্যানেল পুনর্নবীকরণের কোনও স্বয়ংক্রিয় উপায় নেই। যখন কোনও চ্যানেলের মেয়াদ শেষ হওয়ার কাছাকাছি থাকে, তখন আপনাকে অবশ্যই watch পদ্ধতিটি কল করে একটি নতুন দিয়ে এটি প্রতিস্থাপন করতে হবে। সর্বদা হিসাবে, আপনাকে নতুন চ্যানেলের id বৈশিষ্ট্যের জন্য একটি অনন্য মান ব্যবহার করতে হবে। মনে রাখবেন যে একই রিসোর্সের জন্য দুটি বিজ্ঞপ্তি চ্যানেল সক্রিয় থাকাকালীন একটি "ওভারল্যাপ" সময়কাল থাকার সম্ভাবনা রয়েছে।
বিজ্ঞপ্তি গ্রহণ করুন
যখনই কোনও পর্যবেক্ষণকৃত রিসোর্স পরিবর্তন হয়, তখন আপনার অ্যাপ্লিকেশনটি পরিবর্তনটি বর্ণনা করে একটি বিজ্ঞপ্তি বার্তা পায়। অ্যাডমিন SDK API এই বার্তাগুলিকে HTTPS POST অনুরোধ হিসাবে এই বিজ্ঞপ্তি চ্যানেলের address সম্পত্তি হিসাবে আপনার নির্দিষ্ট করা URL-এ পাঠায়।
বিজ্ঞপ্তি বার্তার ফর্ম্যাটটি ব্যাখ্যা করুন
সমস্ত বিজ্ঞপ্তি বার্তায় HTTP হেডারের একটি সেট থাকে যার X-Goog- উপসর্গ থাকে। কিছু ধরণের বিজ্ঞপ্তিতে একটি বার্তার মূল অংশও অন্তর্ভুক্ত থাকতে পারে।
শিরোনাম
আপনার রিসিভিং URL-এ অ্যাডমিন SDK API দ্বারা পোস্ট করা বিজ্ঞপ্তি বার্তাগুলিতে নিম্নলিখিত HTTP হেডারগুলি অন্তর্ভুক্ত থাকে:
| হেডার | বিবরণ |
|---|---|
| সর্বদা উপস্থিত | |
| এই বিজ্ঞপ্তি চ্যানেলটি সনাক্ত করার জন্য আপনার দেওয়া UUID অথবা অন্য কোনও অনন্য স্ট্রিং। |
| এই বিজ্ঞপ্তি চ্যানেলের জন্য এই বার্তাটি শনাক্তকারী পূর্ণসংখ্যা। sync বার্তাগুলির জন্য মান সর্বদা 1 চ্যানেলে প্রতিটি পরবর্তী বার্তার জন্য বার্তা সংখ্যা বৃদ্ধি পায়, কিন্তু সেগুলি ক্রমানুসারে হয় না। |
| একটি অস্বচ্ছ মান যা দেখা রিসোর্সটি সনাক্ত করে। এই আইডিটি API সংস্করণ জুড়ে স্থিতিশীল। |
| নতুন রিসোর্স অবস্থা যা বিজ্ঞপ্তিটি ট্রিগার করেছে। সম্ভাব্য মান: sync অথবা একটি ইভেন্টের নাম । |
| দেখা রিসোর্সের জন্য একটি API-সংস্করণ-নির্দিষ্ট শনাক্তকারী। |
| মাঝে মাঝে উপস্থিত | |
| বিজ্ঞপ্তি চ্যানেলের মেয়াদ শেষ হওয়ার তারিখ এবং সময়, মানুষের পঠনযোগ্য ফর্ম্যাটে প্রকাশ করা হয়েছে। শুধুমাত্র সংজ্ঞায়িত হলেই উপস্থিত। |
| আপনার অ্যাপ্লিকেশন দ্বারা সেট করা বিজ্ঞপ্তি চ্যানেল টোকেন, এবং আপনি বিজ্ঞপ্তির উৎস যাচাই করতে ব্যবহার করতে পারেন। শুধুমাত্র সংজ্ঞায়িত থাকলেই উপস্থিত থাকবে। |
ক্রিয়াকলাপের বিজ্ঞপ্তি বার্তাগুলিতে অনুরোধের মূল অংশে নিম্নলিখিত তথ্য থাকে:
| সম্পত্তি | বিবরণ |
|---|---|
kind | এটিকে একটি অ্যাক্টিভিটি রিসোর্স হিসেবে শনাক্ত করে। মান: স্থির স্ট্রিং " admin#reports#activity "। |
id | কার্যকলাপ রেকর্ডের অনন্য শনাক্তকারী। |
id. time | কার্যকলাপটি সংঘটিত হওয়ার সময়। মানটি ISO 8601 তারিখ এবং সময় ফর্ম্যাটে। সময় হল সম্পূর্ণ তারিখ এবং ঘন্টা, মিনিট এবং সেকেন্ড YYYY-MM-DDThh:mm:ssTZD আকারে। উদাহরণস্বরূপ, 2010-04-05T17:30:04+01:00। |
id. uniqueQualifier | একাধিক ইভেন্টের সময় একই হলে অনন্য বাছাইপর্ব। |
id. applicationName | ইভেন্টটি যে অ্যাপ্লিকেশনের সাথে সম্পর্কিত তার নাম। সম্ভাব্য মানগুলির মধ্যে রয়েছে: |
id. customerId | Google Workspace অ্যাকাউন্টের জন্য অনন্য শনাক্তকারী। |
actor | ব্যবহারকারী কাজটি করছেন। |
actor. callerType | রিপোর্টে তালিকাভুক্ত কার্যকলাপ সম্পাদনকারী লেখকের ধরণ। API-এর এই সংস্করণে, callerType হল USER অথবা OAuth 2LO সত্তার অনুরোধ যিনি রিপোর্টে তালিকাভুক্ত কার্যকলাপ সম্পাদন করেছেন। |
actor. email | যে ব্যবহারকারীর কার্যকলাপ রিপোর্ট করা হচ্ছে তার প্রাথমিক ইমেল ঠিকানা। |
actor. profileId | ব্যবহারকারীর অনন্য Google Workspace প্রোফাইল আইডি। |
ownerDomain | অ্যাডমিন কনসোলের ডোমেন অথবা ডক্স অ্যাপ্লিকেশনের ডকুমেন্ট মালিক। এটি সেই ডোমেন যা রিপোর্টের ইভেন্ট দ্বারা প্রভাবিত হয়। |
ipAddress | ব্যবহারকারীর কাজটি করা IP ঠিকানা। এটি Google Workspace-এ লগ ইন করার সময় ব্যবহারকারীর ইন্টারনেট প্রোটোকল (IP) ঠিকানা যা ব্যবহারকারীর ভৌত অবস্থান প্রতিফলিত করতে পারে বা নাও পারে। উদাহরণস্বরূপ, IP ঠিকানাটি ব্যবহারকারীর প্রক্সি সার্ভারের ঠিকানা অথবা ভার্চুয়াল প্রাইভেট নেটওয়ার্ক (VPN) ঠিকানা হতে পারে। API IPv4 এবং IPv6 সমর্থন করে। |
events[] | প্রতিবেদনে কার্যকলাপের ঘটনা। |
events[]. type | ইভেন্টের ধরণ। অ্যাডমিনিস্ট্রেটর যে Google Workspace পরিষেবা বা বৈশিষ্ট্য পরিবর্তন করেন তা eventName প্রপার্টি ব্যবহার করে ইভেন্ট শনাক্ত করার জন্য type প্রপার্টিতে শনাক্ত করা হয়। |
events[]. name | ইভেন্টের নাম। এটি API দ্বারা রিপোর্ট করা কার্যকলাপের নির্দিষ্ট নাম। এবং প্রতিটি eventName একটি নির্দিষ্ট Google Workspace পরিষেবা বা বৈশিষ্ট্যের সাথে সম্পর্কিত যা API বিভিন্ন ধরণের ইভেন্টে সংগঠিত করে।সাধারণভাবে eventName অনুরোধের প্যারামিটারের জন্য:
|
events[]. parameters[] | বিভিন্ন অ্যাপ্লিকেশনের জন্য প্যারামিটার মান জোড়া। |
events[].parameters[]. name | প্যারামিটারের নাম। |
events[].parameters[]. value | প্যারামিটারের স্ট্রিং মান। |
events[].parameters[]. intValue | প্যারামিটারের পূর্ণসংখ্যার মান। |
events[].parameters[]. boolValue | প্যারামিটারের বুলিয়ান মান। |
উদাহরণ
অ্যাক্টিভিটি রিসোর্স ইভেন্টের জন্য বিজ্ঞপ্তি বার্তাগুলির সাধারণ রূপ হল:
POST https://mydomain.com/notifications
Content-Type: application/json; utf-8
Content-Length: 0
X-Goog-Channel-ID: reportsApiId
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/reports/v1/activity/userKey/applications/applicationName
X-Goog-Resource-State: eventName
X-Goog-Message-Number: 10
{
"kind": "admin#reports#activity",
"id": {
"time": datetime,
"uniqueQualifier": long,
"applicationName": string,
"customerId": string
},
"actor": {
"callerType": string,
"email": string,
"profileId": long
},
"ownerDomain": string,
"ipAddress": string,
"events": [
{
"type": string,
"name": string,
"parameters": [
{
"name": string,
"value": string,
"intValue": long,
"boolValue": boolean
}
]
}
]
}
অ্যাডমিন অ্যাক্টিভিটি ইভেন্টের একটি উদাহরণ:
POST https://mydomain.com/notifications
Content-Type: application/json; utf-8
Content-Length: 596
X-Goog-Channel-ID: reportsApiId
X-Goog-Channel-Token: 245t1234tt83trrt333
X-Goog-Channel-Expiration: Tue, 29 Oct 2013 20:32:02 GMT
X-Goog-Resource-ID: ret987df98743md8g
X-Goog-Resource-URI: https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/admin?alt=json
X-Goog-Resource-State: CREATE_USER
X-Goog-Message-Number: 23
{
"kind": "admin#reports#activity",
"id": {
"time": "2013-09-10T18:23:35.808Z",
"uniqueQualifier": "-0987654321",
"applicationName": "admin",
"customerId": "ABCD012345"
},
"actor": {
"callerType": "USER",
"email": "admin@example.com",
"profileId": "0123456789987654321"
},
"ownerDomain": "apps-reporting.example.com",
"ipAddress": "192.0.2.0",
"events": [
{
"type": "USER_SETTINGS",
"name": "CREATE_USER",
"parameters": [
{
"name": "USER_EMAIL",
"value": "liz@example.com"
}
]
}
]
}বিজ্ঞপ্তির উত্তর দিন
সাফল্য নির্দেশ করতে, আপনি নিম্নলিখিত যেকোনো স্ট্যাটাস কোড ফেরত দিতে পারেন: 200 , 201 , 202 , 204 , অথবা 102 ।
যদি আপনার পরিষেবা Google এর API ক্লায়েন্ট লাইব্রেরি ব্যবহার করে এবং 500 , 502 , 503 , অথবা 504 রিটার্ন করে, তাহলে Admin SDK API এক্সপোনেনশিয়াল ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করে। অন্য প্রতিটি রিটার্ন স্ট্যাটাস কোডকে একটি বার্তা ব্যর্থতা হিসাবে বিবেচনা করা হয়।
অ্যাডমিন SDK API বিজ্ঞপ্তি ইভেন্টগুলি বুঝুন
এই বিভাগটি অ্যাডমিন SDK API-এর সাথে পুশ বিজ্ঞপ্তি ব্যবহার করার সময় আপনি যে বিজ্ঞপ্তি বার্তাগুলি পেতে পারেন তার বিশদ বিবরণ প্রদান করে।
রিপোর্ট API পুশ নোটিফিকেশনে দুই ধরণের মেসেজ থাকে: সিঙ্ক মেসেজ এবং ইভেন্ট নোটিফিকেশন। মেসেজের ধরণটি X-Goog-Resource-State HTTP হেডারে নির্দেশিত। ইভেন্ট নোটিফিকেশনের সম্ভাব্য মানগুলি activities.list পদ্ধতির মতোই। প্রতিটি অ্যাপ্লিকেশনের অনন্য ইভেন্ট রয়েছে:
বিজ্ঞপ্তি বন্ধ করুন
expiration বৈশিষ্ট্যটি নিয়ন্ত্রণ করে কখন বিজ্ঞপ্তিগুলি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। আপনি নিম্নলিখিত URI-তে stop পদ্ধতিটি কল করে মেয়াদোত্তীর্ণ হওয়ার আগে একটি নির্দিষ্ট চ্যানেলের জন্য বিজ্ঞপ্তিগুলি পাওয়া বন্ধ করতে পারেন:
https://www.googleapis.com/admin/reports_v1/channels/stop
এই পদ্ধতিতে আপনাকে কমপক্ষে চ্যানেলের id এবং resourceId বৈশিষ্ট্যগুলি প্রদান করতে হবে, যেমনটি নীচের উদাহরণে দেখানো হয়েছে। মনে রাখবেন যে যদি অ্যাডমিন SDK API-তে বিভিন্ন ধরণের রিসোর্স থাকে যার watch পদ্ধতি রয়েছে, তবে কেবল একটি stop পদ্ধতি রয়েছে।
শুধুমাত্র সঠিক অনুমতিপ্রাপ্ত ব্যবহারকারীরা একটি চ্যানেল বন্ধ করতে পারবেন। বিশেষ করে:
- যদি চ্যানেলটি একটি নিয়মিত ব্যবহারকারী অ্যাকাউন্ট দ্বারা তৈরি করা হয়, তাহলে শুধুমাত্র একই ক্লায়েন্টের (auth টোকেন থেকে OAuth 2.0 ক্লায়েন্ট আইডি দ্বারা চিহ্নিত) একই ব্যবহারকারী যিনি চ্যানেলটি তৈরি করেছেন তিনিই চ্যানেলটি বন্ধ করতে পারবেন।
- যদি চ্যানেলটি কোনও পরিষেবা অ্যাকাউন্ট দ্বারা তৈরি করা হয়, তাহলে একই ক্লায়েন্টের যেকোনো ব্যবহারকারী চ্যানেলটি বন্ধ করতে পারবেন।
নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে বিজ্ঞপ্তি পাওয়া বন্ধ করতে হয়:
POST https://www.googleapis.com/admin/reports_v1/channels/stop
Authorization: Bearer CURRENT_USER_AUTH_TOKEN
Content-Type: application/json
{
"id": "4ba78bf0-6a47-11e2-bcfd-0800200c9a66",
"resourceId": "ret08u3rv24htgh289g"
}