প্রারম্ভিক অ্যাক্সেস বা প্রাইভেট প্রিভিউ প্রোগ্রামগুলিতে API পদ্ধতিগুলি ব্যক্তিগত , যার অর্থ হল সেগুলি স্ট্যান্ডার্ড ক্লায়েন্ট লাইব্রেরিতে প্রকাশ করা হয় না এবং HTTP-তে ডিফল্টরূপে অ্যাক্সেসযোগ্য নাও হতে পারে। এই পৃষ্ঠাটি বর্ণনা করে কিভাবে আপনি এই পূর্বরূপ পদ্ধতিগুলি অ্যাক্সেস করতে পারেন৷
এই নথিটি পূর্বরূপ API ব্যবহার করার জন্য চারটি বিকল্প নিয়ে আলোচনা করে:
- Google-প্রদত্ত স্ট্যাটিক ক্লায়েন্ট লাইব্রেরি।
- গতিশীলভাবে উত্পন্ন ক্লায়েন্ট লাইব্রেরি.
- সরাসরি HTTP অনুরোধ.
- আপনার নিজস্ব কাস্টম ক্লায়েন্ট লাইব্রেরি।
Google-প্রদত্ত স্ট্যাটিক বা গতিশীলভাবে জেনারেট করা লাইব্রেরি ব্যবহার করা হল API ব্যবহার করার প্রস্তাবিত উপায়।
স্ট্যাটিক লাইব্রেরি
Java, Node.js, PHP, এবং C# এর মতো ভাষায় ক্লায়েন্ট লাইব্রেরি উৎস থেকে তৈরি করতে হবে। এই লাইব্রেরিগুলি আপনার জন্য ক্লায়েন্ট লাইব্রেরি ডাউনলোডগুলিতে সরবরাহ করা হয়েছে এবং পূর্বরূপ পদ্ধতিগুলি ইতিমধ্যেই রয়েছে৷
স্ট্যান্ডার্ড ক্লায়েন্ট লাইব্রেরিগুলি আমদানি করার পরিবর্তে এই স্থানীয় লাইব্রেরিগুলি ব্যবহার করার জন্য আপনাকে আপনার সাধারণ নির্ভরতা কনফিগারেশন পরিবর্তন করতে হতে পারে, যার প্রিভিউ পদ্ধতি নেই।
উদাহরণস্বরূপ, আপনি যদি Node.js এবং npm ব্যবহার করেন, তাহলে package.json
এ স্থানীয় নির্ভরতা হিসাবে Node.js ক্লায়েন্ট লাইব্রেরি ডাউনলোড ( googleapis-classroom-1.0.4.tgz
) যোগ করুন :
{
"name": "nodejs-classroom-example",
"version": "1.0.0",
...
"dependencies": {
"@google-cloud/local-auth": "^2.1.0",
"googleapis": "^95.0.0",
"classroom-with-addons": "file:./googleapis-classroom-1.0.4.tgz"
}
}
তারপরে আপনার অ্যাপ্লিকেশনে, নিয়মিত নির্ভরতা ছাড়াও classroom-with-addons
মডিউল প্রয়োজন, এবং সেই মডিউল থেকে classroom
পরিষেবা চালু করুন:
const {authenticate} = require('@google-cloud/local-auth');
const {google} = require('googleapis');
const classroomWithAddons = require('classroom-with-addons');
...
const classroom = classroomWithAddons.classroom({
version: 'v1',
auth: auth,
});
...
গতিশীল লাইব্রেরি
পাইথনের মতো ভাষায় লাইব্রেরিগুলি ডিসকভারি পরিষেবা থেকে একটি ডিসকভারি ডকুমেন্ট ব্যবহার করে রানটাইমে ক্লায়েন্ট লাইব্রেরি তৈরি করে।
একটি ডিসকভারি ডকুমেন্ট হল একটি মেশিন-পাঠযোগ্য স্পেসিফিকেশন যা REST API-এর বর্ণনা এবং ব্যবহার করার জন্য। এটি ক্লায়েন্ট লাইব্রেরি, IDE প্লাগইন এবং Google API-এর সাথে ইন্টারঅ্যাক্ট করে এমন অন্যান্য টুল তৈরি করতে ব্যবহৃত হয়। একটি পরিষেবা একাধিক আবিষ্কার নথি প্রদান করতে পারে।
Classroom API পরিষেবার জন্য আবিষ্কারের নথি ( classroom.googleapis.com
) নিম্নলিখিত শেষ পয়েন্টে পাওয়া যাবে:
- https://classroom.googleapis.com/$discovery/rest?labels= <PREVIEW_LABEL> &version=v1&key= <API কী>
পাইথন লাইব্রেরি তৈরি করতে এবং অ্যাড-অন পদ্ধতির সাহায্যে ক্লাসরুম পরিষেবা চালু করতে, আপনি উপযুক্ত পরিষেবা, শংসাপত্র এবং লেবেল সহ ডিসকভারি URL নির্দিষ্ট করতে পারেন:
classroom_service_with_rubrics = googleapiclient.discovery.build(
serviceName="classroom",
version="v1",
credentials=credentials,
static_discovery=False,
discoveryServiceUrl=f"https://classroom.googleapis.com/$discovery/rest?labels=ADD_ONS_ALPHA&key=ABCXYZ")
প্রতিটি ভাষার বিশদ বিবরণের জন্য পৃথক Google API ক্লায়েন্ট লাইব্রেরি ডকুমেন্টেশন দেখুন। পূর্বরূপ API-এর সাথে কাজ করার জন্য গুরুত্বপূর্ণ পার্থক্য হল উপযুক্ত label
নির্দিষ্ট করা। এই প্রিভিউতে সেই লেবেলটি হল ADD_ONS_ALPHA
।
HTTP অনুরোধ
আপনি যদি ক্লায়েন্ট লাইব্রেরি ছাড়া HTTP অনুরোধ করেন, X-Goog-Visibilities
শিরোনাম হিসাবে লেবেল ( ADD_ONS_ALPHA
) অন্তর্ভুক্ত করতে ভুলবেন না।
উদাহরণস্বরূপ, একটি পোস্টের অধীনে একটি অ্যাড-অন দ্বারা তৈরি সমস্ত সংযুক্তি দেখতে, নিম্নলিখিত কার্ল অনুরোধটি ব্যবহার করুন:
curl \
'https://classroom.googleapis.com/v1/courses/[courseId]/posts/[postId]/addOnAttachments?key=[YOUR_API_KEY]' \
--header 'X-Goog-Visibilities: ADD_ONS_ALPHA' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
প্রতিটি HTTP অনুরোধের API REST ডকুমেন্টেশনে বর্ণনা করা হয়েছে।
কাস্টম ক্লায়েন্ট লাইব্রেরি
আপনার নিজের লাইব্রেরি তৈরি করতে হলে বিল্ড ক্লায়েন্ট লাইব্রেরি দেখুন। আপনার নিজস্ব লাইব্রেরি তৈরি করা এই গাইডের সুযোগের বাইরে, তবে প্রিভিউ লেবেল এবং ডিসকভারিতে তাদের ভূমিকা সম্পর্কে জানতে আপনার ডায়নামিক লাইব্রেরি বিভাগটি পর্যালোচনা করা উচিত।