প্রকল্প সম্পর্কে
PHP-এর জন্য Google APIs ক্লায়েন্ট লাইব্রেরি Gmail, Drive, এবং YouTube-এর মতো Google API-গুলির সাথে সার্ভার-সাইড ইন্টারঅ্যাকশন সক্ষম করে। এটি Google দ্বারা আনুষ্ঠানিকভাবে সমর্থিত, তবে এটি সম্পূর্ণ এবং রক্ষণাবেক্ষণ মোডে রয়েছে বলে বিবেচিত হয়, যার অর্থ শুধুমাত্র গুরুত্বপূর্ণ বাগ এবং নিরাপত্তা সমস্যাগুলি সমাধান করা হবে, এবং কোনো নতুন বৈশিষ্ট্য যোগ করা হবে না।
Google ক্লাউড প্ল্যাটফর্ম API-গুলির জন্য (যেমন Datastore, Cloud Storage, Pub/Sub, Compute Engine), Google সুপারিশ করে যে আপনি ডেডিকেটেড Google ক্লাউড ক্লায়েন্ট লাইব্রেরিগুলি ব্যবহার করুন।
**প্রয়োজনীয়তা**
- PHP 8.0 বা উচ্চতর
**ইনস্টলেশন**
- পছন্দের পদ্ধতি: Composer (`composer require google/apiclient`)। লাইব্রেরিটি `google/apiclient-services`-এর উপর নির্ভর করে, যা আপ-টু-ডেট API র্যাপার সরবরাহ করে। প্রোডাকশনে `google/apiclient-services`-এর একটি নির্দিষ্ট সংস্করণ পিন করার পরামর্শ দেওয়া হয় যাতে ব্রেকিং পরিবর্তন এড়ানো যায়।
- বিকল্প: একটি রিলিজ জিপ ফাইল ডাউনলোড করুন এবং অটোলোডার অন্তর্ভুক্ত করুন।
- নির্ভরতা কমানোর জন্য, আপনি `Google\Task\Composer::cleanup` টাস্ক ব্যবহার করে শুধুমাত্র নির্দিষ্ট পরিষেবাগুলি (যেমন Drive, YouTube) রাখতে পারেন এবং অব্যবহৃতগুলি সরাতে পারেন।
**মৌলিক ব্যবহার**
- অটোলোডার অন্তর্ভুক্ত করুন এবং একটি `Google\Client` ইনস্ট্যান্স তৈরি করুন।
- অ্যাপ্লিকেশন নাম, ডেভেলপার কী, বা প্রমাণীকরণ শংসাপত্র সেট করুন।
- API কল করতে জেনারেটেড সার্ভিস ক্লাস (যেমন `Google\Service\Books`) ব্যবহার করুন।
**প্রমাণীকরণ**
- ওয়েব অ্যাপ্লিকেশনের জন্য OAuth 2.0: অথ কনফিগ, স্কোপ, রিডাইরেক্ট URI সেট করুন এবং অ্যাক্সেস টোকেনের জন্য অথরাইজেশন কোড বিনিময় করুন।
- সার্ভিস অ্যাকাউন্ট: `GOOGLE_APPLICATION_CREDENTIALS` এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করুন বা সরাসরি অথ কনফিগ সেট করুন। ডোমেইন-ব্যাপী ডেলিগেশন `setSubject`-এর মাধ্যমে ব্যবহারকারীদের ছদ্মবেশ ধারণ করতে পারে।
- `authorize` পদ্ধতি সরাসরি HTTP অনুরোধের জন্য একটি অনুমোদিত Guzzle ক্লায়েন্ট ফেরত দেয়।
**HTTP ক্লায়েন্ট এবং ক্যাশিং**
- ডিফল্ট HTTP ক্লায়েন্ট হিসাবে Guzzle ব্যবহার করে, যা কাস্টম হ্যান্ডলার এবং মিডলওয়্যার অনুমতি দেয়।
- কর্মক্ষমতা উন্নত করতে PSR-6 সামঞ্জস্যপূর্ণ ক্যাশিং লাইব্রেরি (যেমন `cache/filesystem-adapter`) সমর্থন করে।
- HTTP অনুরোধ ডিবাগ করা Charles-এর মতো টুল ব্যবহার করে করা যেতে পারে।
**নন-JSON প্রতিক্রিয়া পরিচালনা**
- কিছু API ডিফল্টরূপে XML ফেরত দেয়; আপনি ঐচ্ছিক প্যারামিটারে `'alt' => "json"` যোগ করে JSON অনুরোধ করতে পারেন।
- নাল ফিল্ড ডিফল্টরূপে সরানো হয়; স্পষ্টভাবে নাল সেট করতে `Google\Model::NULL_VALUE` ব্যবহার করুন।
**সমর্থন এবং উদাহরণ**
- `examples/` ডিরেক্টরিতে উদাহরণ উপলব্ধ, যার মধ্যে ফাইল আপলোড এবং সার্ভিস অ্যাকাউন্ট অন্তর্ভুক্ত।
- সমর্থনের জন্য, StackOverflow-এ google-api-php-client ট্যাগ ব্যবহার করুন বা বাগের জন্য GitHub-এ সমস্যা ফাইল করুন।
- বৈশিষ্ট্য অনুরোধ কোর লাইব্রেরি অনুরোধ হওয়া উচিত; API-নির্দিষ্ট অনুরোধ সংশ্লিষ্ট API টিমের কাছে যাওয়া উচিত।
**কোড গুণমান**
- কোডিং স্টাইল লঙ্ঘন Composer স্ক্রিপ্টের মাধ্যমে পরীক্ষা এবং ঠিক করা যেতে পারে।
এই লাইব্রেরিটি PHP অ্যাপ্লিকেশনে Google API-গুলির সাথে সংহত করার জন্য উপযুক্ত, এবং `docs/` ফোল্ডারে বিস্তারিত ডকুমেন্টেশন রয়েছে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.