পুশ বিজ্ঞপ্তি

এই দস্তাবেজটি বর্ণনা করে যে কীভাবে পুশ বিজ্ঞপ্তিগুলি ব্যবহার করতে হয় যা কোনও সংস্থান পরিবর্তনের সময় আপনার অ্যাপ্লিকেশনকে জানায়।

ওভারভিউ

অ্যাডমিন SDK API পুশ বিজ্ঞপ্তি প্রদান করে যা আপনাকে সম্পদের পরিবর্তনগুলি নিরীক্ষণ করতে দেয়। আপনি আপনার অ্যাপ্লিকেশনের কর্মক্ষমতা উন্নত করতে এই বৈশিষ্ট্যটি ব্যবহার করতে পারেন। এটি আপনাকে অতিরিক্ত নেটওয়ার্ক নির্মূল করতে দেয় এবং তারা পরিবর্তিত হয়েছে কিনা তা নির্ধারণ করতে পোলিং সংস্থানগুলির সাথে জড়িত খরচ গণনা করতে দেয়। যখনই একটি প্রেক্ষিত সম্পদ পরিবর্তিত হয়, অ্যাডমিন SDK API আপনার অ্যাপ্লিকেশনকে অবহিত করে৷

পুশ বিজ্ঞপ্তিগুলি ব্যবহার করতে, আপনাকে দুটি জিনিস করতে হবে:

  • আপনার রিসিভিং ইউআরএল বা "ওয়েবহুক" কলব্যাক রিসিভার সেট আপ করুন।

    এটি একটি 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", // Your channel ID.
  "type": "web_hook",
  "address": "https://mydomain.com/notifications", // Your receiving URL.
  ...
  "token": "target=myApp-myFilesChannelDest", // (Optional) Your channel token.
  "payload": true, // (Optional) Whether to include the payload (message body) in notifications.
  "expiration": 3600 // (Optional) Your requested channel expiration time.
}

আপনি 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 অক্ষর।

    আপনার সেট করা ID মানটি আপনি এই চ্যানেলের জন্য প্রাপ্ত প্রতিটি বিজ্ঞপ্তি বার্তার X-Goog-Channel-Id HTTP শিরোনামে প্রতিধ্বনিত হয়৷

  • একটি type প্রপার্টি স্ট্রিং মান web_hook সেট করে।

  • একটি address সম্পত্তি স্ট্রিং URL-এ সেট করা হয়েছে যা এই বিজ্ঞপ্তি চ্যানেলের জন্য বিজ্ঞপ্তিগুলি শোনে এবং প্রতিক্রিয়া জানায়৷ এটি আপনার ওয়েবহুক কলব্যাক URL, এবং এটি অবশ্যই HTTPS ব্যবহার করবে৷

    মনে রাখবেন যে অ্যাডমিন SDK API শুধুমাত্র এই HTTPS ঠিকানায় বিজ্ঞপ্তি পাঠাতে সক্ষম হয় যদি আপনার ওয়েব সার্ভারে একটি বৈধ SSL শংসাপত্র ইনস্টল করা থাকে। অবৈধ শংসাপত্র অন্তর্ভুক্ত:

    • স্ব-স্বাক্ষরিত শংসাপত্র।
    • একটি অবিশ্বস্ত উৎস দ্বারা স্বাক্ষরিত শংসাপত্র।
    • প্রত্যাহার করা হয়েছে যে শংসাপত্র.
    • যে শংসাপত্রগুলির একটি বিষয় রয়েছে যা লক্ষ্য হোস্টনামের সাথে মেলে না৷

ঐচ্ছিক বৈশিষ্ট্য

আপনি আপনার watch অনুরোধের সাথে এই ঐচ্ছিক ক্ষেত্রগুলিও নির্দিষ্ট করতে পারেন:

  • একটি token সম্পত্তি যা চ্যানেল টোকেন হিসাবে ব্যবহার করার জন্য একটি নির্বিচারে স্ট্রিং মান নির্দিষ্ট করে। আপনি বিভিন্ন উদ্দেশ্যে বিজ্ঞপ্তি চ্যানেল টোকেন ব্যবহার করতে পারেন। উদাহরণ স্বরূপ, আপনি টোকেন ব্যবহার করতে পারেন যে প্রতিটি ইনকামিং বার্তা আপনার অ্যাপ্লিকেশন তৈরি করা একটি চ্যানেলের জন্য—বিজ্ঞপ্তিটি স্পুফ করা হচ্ছে না তা নিশ্চিত করতে—অথবা উদ্দেশ্যের ভিত্তিতে আপনার অ্যাপ্লিকেশনের মধ্যে বার্তাটিকে সঠিক গন্তব্যে রুট করতে এই চ্যানেল। সর্বাধিক দৈর্ঘ্য: 256 অক্ষর।

    টোকেনটি X-Goog-Channel-Token HTTP শিরোনামে অন্তর্ভুক্ত করা হয়েছে এই চ্যানেলের জন্য আপনার অ্যাপ্লিকেশন প্রাপ্ত প্রতিটি বিজ্ঞপ্তি বার্তায়।

    আপনি যদি বিজ্ঞপ্তি চ্যানেল টোকেন ব্যবহার করেন, আমরা আপনাকে সুপারিশ করি যে:

    • একটি এক্সটেনসিবল এনকোডিং বিন্যাস ব্যবহার করুন, যেমন URL ক্যোয়ারী প্যারামিটার। উদাহরণ: forwardTo=hr&createdBy=mobile

    • OAuth টোকেনের মতো সংবেদনশীল ডেটা অন্তর্ভুক্ত করবেন না।

  • আপনি যখন অ্যাডমিন SDK API এই বিজ্ঞপ্তি চ্যানেলের জন্য বার্তা পাঠানো বন্ধ করতে চান সেই তারিখ এবং সময়ের একটি ইউনিক্স টাইমস্ট্যাম্পে (মিলিসেকেন্ডে) একটি expiration সম্পত্তি স্ট্রিং সেট করা হয়েছে৷

    যদি কোনো চ্যানেলের মেয়াদ শেষ হওয়ার সময় থাকে, তাহলে এই চ্যানেলের জন্য আপনার অ্যাপ্লিকেশন প্রাপ্ত প্রতিটি বিজ্ঞপ্তি বার্তায় এটি X-Goog-Channel-Expiration HTTP হেডার (মানব-পাঠযোগ্য বিন্যাসে) এর মান হিসাবে অন্তর্ভুক্ত করা হয়।

অনুরোধের বিষয়ে আরও বিশদ বিবরণের জন্য, API রেফারেন্সে অ্যাক্টিভিটি রিসোর্সের জন্য watch পদ্ধতি পড়ুন।

প্রতিক্রিয়া দেখুন

যদি watch অনুরোধ সফলভাবে একটি বিজ্ঞপ্তি চ্যানেল তৈরি করে, তাহলে এটি একটি HTTP 200 OK স্ট্যাটাস কোড প্রদান করে।

ঘড়ির প্রতিক্রিয়ার মেসেজ বডি আপনার তৈরি করা বিজ্ঞপ্তি চ্যানেল সম্পর্কে তথ্য প্রদান করে, যেমনটি নীচের উদাহরণে দেখানো হয়েছে।

{
  "kind": "api#channel",
  "id": "reportsApiId", // ID you specified for this channel.
  "resourceId": "o3hgv1538sdjfh", // ID of the watched resource.
  "resourceUri": "https://admin.googleapis.com/admin/reports/v1/activity/userKey/applications/applicationName", // Version-specific ID of the watched resource.
  "token": "target=myApp-myFilesChannelDest", // Present only if one was provided.
  "expiration": 3600, // Actual expiration time as Unix timestamp (in ms), if applicable.
}

আপনার অনুরোধের অংশ হিসাবে আপনি যে বৈশিষ্ট্যগুলি পাঠিয়েছেন তার পাশাপাশি, ফেরত দেওয়া তথ্যে এই বিজ্ঞপ্তি চ্যানেলে দেখা সংস্থান সনাক্ত করতে resourceId এবং resourceUri অন্তর্ভুক্ত রয়েছে।

আপনি প্রত্যাবর্তিত তথ্যগুলি অন্যান্য বিজ্ঞপ্তি চ্যানেল অপারেশনগুলিতে প্রেরণ করতে পারেন, যেমন আপনি যখন বিজ্ঞপ্তিগুলি পাওয়া বন্ধ করতে চান৷

প্রতিক্রিয়া সম্পর্কে আরও বিশদ বিবরণের জন্য, API রেফারেন্সে অ্যাক্টিভিটি রিসোর্সের জন্য watch পদ্ধতিটি পড়ুন।

বার্তা সিঙ্ক করুন

একটি সংস্থান দেখার জন্য একটি বিজ্ঞপ্তি চ্যানেল তৈরি করার পরে, প্রশাসক SDK API বিজ্ঞপ্তিগুলি শুরু হচ্ছে তা নির্দেশ করার জন্য একটি sync বার্তা পাঠায়৷ এই বার্তাগুলির জন্য X-Goog-Resource-State HTTP হেডার মান sync ৷ নেটওয়ার্ক টাইমিং সমস্যার কারণে, আপনি watch পদ্ধতির প্রতিক্রিয়া পাওয়ার আগেও sync বার্তাটি গ্রহণ করা সম্ভব।

sync বিজ্ঞপ্তি উপেক্ষা করা নিরাপদ, কিন্তু আপনি এটি ব্যবহার করতে পারেন। উদাহরণ স্বরূপ, আপনি যদি সিদ্ধান্ত নেন যে আপনি চ্যানেলটি রাখতে চান না, তাহলে আপনি বিজ্ঞপ্তি পাওয়া বন্ধ করতে একটি কলে X-Goog-Channel-ID এবং X-Goog-Resource-ID মানগুলি ব্যবহার করতে পারেন৷ আপনি পরবর্তী ইভেন্টগুলির জন্য প্রস্তুত করার জন্য কিছু প্রাথমিককরণ করতে sync বিজ্ঞপ্তি ব্যবহার করতে পারেন।

অ্যাডমিন 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 HTTP শিরোনামে আপনার অ্যাপ্লিকেশন এই চ্যানেলের জন্য প্রাপ্ত প্রতিটি বিজ্ঞপ্তি বার্তায় মেয়াদ শেষ হওয়ার তারিখ এবং সময় অন্তর্ভুক্ত করা হয়েছে (মানুষ-পঠনযোগ্য বিন্যাসে)।

বর্তমানে, একটি বিজ্ঞপ্তি চ্যানেল পুনর্নবীকরণ করার কোন স্বয়ংক্রিয় উপায় নেই৷ একটি চ্যানেলের মেয়াদ শেষ হওয়ার কাছাকাছি হলে, আপনাকে অবশ্যই watch পদ্ধতিতে কল করে এটিকে একটি নতুন দিয়ে প্রতিস্থাপন করতে হবে। সর্বদা হিসাবে, আপনাকে অবশ্যই নতুন চ্যানেলের id সম্পত্তির জন্য একটি অনন্য মান ব্যবহার করতে হবে। নোট করুন যে একই রিসোর্সের জন্য দুটি বিজ্ঞপ্তি চ্যানেল সক্রিয় থাকলে একটি "ওভারল্যাপ" সময়কাল হতে পারে।

বিজ্ঞপ্তি পান

যখনই একটি প্রেক্ষিত সম্পদ পরিবর্তিত হয়, আপনার অ্যাপ্লিকেশন পরিবর্তন বর্ণনা করে একটি বিজ্ঞপ্তি বার্তা পায়। অ্যাডমিন SDK API এই বার্তাগুলিকে HTTPS POST অনুরোধ হিসাবে এই বিজ্ঞপ্তি চ্যানেলের address সম্পত্তি হিসাবে আপনার নির্দিষ্ট করা URL-এ পাঠায়৷

বিজ্ঞপ্তি বার্তা বিন্যাস ব্যাখ্যা

সমস্ত বিজ্ঞপ্তি বার্তাগুলিতে X-Goog- উপসর্গ রয়েছে এমন HTTP শিরোনামগুলির একটি সেট অন্তর্ভুক্ত৷ কিছু ধরণের বিজ্ঞপ্তিতে একটি বার্তার অংশও অন্তর্ভুক্ত থাকতে পারে।

হেডার

প্রশাসক SDK API দ্বারা আপনার প্রাপ্ত URL-এ পোস্ট করা বিজ্ঞপ্তি বার্তাগুলিতে নিম্নলিখিত HTTP শিরোনামগুলি অন্তর্ভুক্ত রয়েছে:

হেডার বর্ণনা
সর্বদা উপস্থিত
X-Goog-Channel-ID এই বিজ্ঞপ্তি চ্যানেল সনাক্ত করতে UUID বা অন্যান্য অনন্য স্ট্রিং আপনি প্রদান করেছেন।
X-Goog-Message-Number পূর্ণসংখ্যা যা এই বিজ্ঞপ্তি চ্যানেলের জন্য এই বার্তাটি সনাক্ত করে৷ sync বার্তাগুলির জন্য মান সর্বদা 1 । চ্যানেলে প্রতিটি পরবর্তী বার্তার জন্য বার্তা সংখ্যা বৃদ্ধি পায়, কিন্তু সেগুলি অনুক্রমিক নয়।
X-Goog-Resource-ID একটি অস্বচ্ছ মান প্রেক্ষিত সম্পদ সনাক্ত করে। এই আইডিটি API সংস্করণ জুড়ে স্থিতিশীল।
X-Goog-Resource-State নতুন সম্পদ রাজ্য যে বিজ্ঞপ্তি ট্রিগার. সম্ভাব্য মান: sync বা একটি ইভেন্টের নাম
X-Goog-Resource-URI দেখা সম্পদের জন্য একটি API-সংস্করণ-নির্দিষ্ট শনাক্তকারী।
মাঝে মাঝে উপস্থিত
X-Goog-Channel-Expiration বিজ্ঞপ্তি চ্যানেলের মেয়াদ শেষ হওয়ার তারিখ এবং সময়, মানব-পাঠযোগ্য বিন্যাসে প্রকাশ করা হয়েছে। সংজ্ঞায়িত হলেই উপস্থিত।
X-Goog-Channel-Token বিজ্ঞপ্তি চ্যানেল টোকেন যা আপনার অ্যাপ্লিকেশন দ্বারা সেট করা হয়েছিল এবং আপনি বিজ্ঞপ্তির উত্স যাচাই করতে ব্যবহার করতে পারেন৷ সংজ্ঞায়িত হলেই উপস্থিত।

ক্রিয়াকলাপগুলির জন্য বিজ্ঞপ্তি বার্তাগুলিতে অনুরোধের অংশে নিম্নলিখিত তথ্য থাকে:

সম্পত্তি বর্ণনা
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 পরিষেবা বা বৈশিষ্ট্য যা একজন অ্যাডমিনিস্ট্রেটর পরিবর্তন করেন সেটি type প্রপার্টিতে চিহ্নিত করা হয় যা eventName প্রপার্টি ব্যবহার করে একটি ইভেন্টকে শনাক্ত করে।
events[]. name অনুষ্ঠানের নাম। এটি API দ্বারা রিপোর্ট করা কার্যকলাপের নির্দিষ্ট নাম। এবং প্রতিটি eventName একটি নির্দিষ্ট Google Workspace পরিষেবা বা বৈশিষ্ট্যের সাথে সম্পর্কিত যা এপিআই ইভেন্টের প্রকারে সংগঠিত করে।
সাধারণভাবে eventName অনুরোধ প্যারামিটারের জন্য:
  • যদি কোনো eventName দেওয়া না থাকে, রিপোর্টটি একটি eventName এর সম্ভাব্য সব উদাহরণ প্রদান করে।
  • আপনি যখন একটি eventName অনুরোধ করেন, তখন API-এর প্রতিক্রিয়া সেই eventName ধারণ করে এমন সমস্ত ক্রিয়াকলাপ প্রদান করে। এটা সম্ভব যে প্রত্যাবর্তিত ক্রিয়াকলাপগুলিতে অনুরোধ করা একটি ছাড়াও অন্যান্য eventName বৈশিষ্ট্য থাকবে৷
events[]. parameters[] বিভিন্ন অ্যাপ্লিকেশনের জন্য প্যারামিটার মান জোড়া।
events[].parameters[]. name পরামিতির নাম।
events[].parameters[]. value প্যারামিটারের স্ট্রিং মান।
events[].parameters[]. intValue প্যারামিটারের পূর্ণসংখ্যার মান।
events[].parameters[]. boolValue প্যারামিটারের বুলিয়ান মান।

উদাহরণ

অ্যাক্টিভিটি রিসোর্স ইভেন্টগুলির জন্য বিজ্ঞপ্তি বার্তাগুলির সাধারণ ফর্ম রয়েছে:

POST https://mydomain.com/notifications // Your receiving URL.
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 // Your receiving URL.
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 পদ্ধতি আছে।

শুধুমাত্র সঠিক অনুমতি সহ ব্যবহারকারীরা একটি চ্যানেল বন্ধ করতে পারেন। নির্দিষ্টভাবে:

  • যদি চ্যানেলটি একটি নিয়মিত ব্যবহারকারীর অ্যাকাউন্ট দ্বারা তৈরি করা হয়, তবে শুধুমাত্র একই ক্লায়েন্টের একই ব্যবহারকারী (যেমনটি প্রমাণীকরণ টোকেন থেকে 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"
}