প্রকল্প সম্পর্কে

এই রিপোজিটরিটি Google API-এর জন্য স্বয়ংক্রিয়ভাবে তৈরি Go ক্লায়েন্ট লাইব্রেরি সরবরাহ করে, যা Google Discovery Service-এর JSON বিবরণ ফাইল থেকে উদ্ভূত। প্রতিটি API নিজস্ব ইমপোর্টযোগ্য প্যাকেজ হিসেবে প্রকাশিত, তাই আপনি শুধু প্রয়োজনীয় অংশই অন্তর্ভুক্ত করতে পারেন, যেমন google.golang.org/api/tasks/v1 বা google.golang.org/api/urlshortener/v1, তারপর NewService(ctx) দিয়ে একটি সার্ভিস তৈরি করতে পারেন। মূল বৈশিষ্ট্য: - জেনারেটেড কোড: লাইব্রেরিগুলো একটি জেনারেটর দ্বারা Discovery ডকুমেন্ট থেকে তৈরি হয়, তাই রিলিজগুলোর মধ্যে ব্রেকিং পরিবর্তন থাকতে পারে; জেনারেটর ও এর আউটপুট বিটা হিসেবে বিবেচিত। - সমর্থন অবস্থা: Google দ্বারা আনুষ্ঠানিকভাবে সমর্থিত, তবে লাইব্রেরিগুলো সম্পূর্ণ এবং রক্ষণাবেক্ষণ মোডে হিসেবে বর্ণিত, অর্থাৎ গুরুত্বপূর্ণ বাগ ও নিরাপত্তা সমস্যা সমাধান করা হয় কিন্তু নতুন ফিচার যোগ করা হয় না। - ক্লাউড API: Datastore বা Pub/Sub-এর মতো Google Cloud Platform পরিষেবার জন্য README ব্যবহারকারীদের পরিবর্তে আলাদা Cloud Client Libraries for Go ব্যবহারের নির্দেশ দেয়। অনুমোদন: - ডিফল্টভাবে, সার্ভিসগুলো Google Application Default Credentials ব্যবহার করে, যা অ্যাপ্লিকেশনকে স্পষ্ট কনফিগারেশন ছাড়াই অনেক পরিবেশে চালানোর সুযোগ দেয়। - JSON কী ফাইল option.WithAuthCredentialsFile দিয়ে স্পষ্ট ক্রেডেনশিয়াল টাইপ (যেমন ServiceAccount) সহ সরবরাহ করা যায়, অথবা option.WithAuthCredentialsJSON দিয়ে সরাসরি JSON ক্রেডেনশিয়াল দেওয়া যায়। - পুরনো option.WithCredentialsFile এবং option.WithCredentialsJSON ফাংশন সম্ভাব্য নিরাপত্তা ঝুঁকির কারণে অবচিত করা হয়েছে। - আরও সূক্ষ্ম নিয়ন্ত্রণের জন্য golang.org/x/oauth2 থেকে একটি oauth2.TokenSource option.WithTokenSource দিয়ে পাস করা যেতে পারে। ডকুমেন্টেশন ও উদাহরণ: - দীর্ঘ টিউটোরিয়াল ও নমুনা ব্যবহারের জন্য একটি Getting Started গাইড এবং একটি examples ডিরেক্টরি উল্লেখ করা হয়েছে। - প্যাকেজ ডকুমেন্টেশন pkg.go.dev-এ উপলব্ধ, এবং কমিউনিটি সহায়তার জন্য golang-nuts মেইলিং লিস্টে নির্দেশ দেওয়া হয়েছে। এটি শেষ-ব্যবহারকারী অ্যাপ্লিকেশনের পরিবর্তে একটি ডেভেলপার-মুখী SDK সংগ্রহ; এর মূল্য হলো Go প্রোগ্রামকে সামঞ্জস্যপূর্ণ অনুমোদন প্যাটার্নসহ বিস্তৃত Google API-তে টাইপড অ্যাক্সেস দেওয়া।