এই নথিটি লাইব্রেরি ব্যবহার শুরু করার জন্য আপনার প্রয়োজনীয় সমস্ত প্রাথমিক তথ্য সরবরাহ করে৷ এটি গ্রন্থাগারের ধারণাগুলিকে কভার করে, বিভিন্ন ব্যবহারের ক্ষেত্রে উদাহরণ দেখায় এবং আরও তথ্যের লিঙ্ক দেয়।
সেটআপ
এই লাইব্রেরিটি ব্যবহার করার আগে আপনাকে কয়েকটি সেটআপ ধাপ সম্পূর্ণ করতে হবে:
- আপনার যদি ইতিমধ্যে একটি Google অ্যাকাউন্ট না থাকে তবে সাইন আপ করুন ।
- আপনি যদি কখনও একটি Google API কনসোল প্রকল্প তৈরি না করে থাকেন, তাহলে প্রকল্প পরিচালনার পৃষ্ঠাটি পড়ুন এবং Google API কনসোলে একটি প্রকল্প তৈরি করুন৷
- আপনি যে NuGet প্যাকেজটির সাথে কাজ করতে চান তা ইনস্টল করুন ।
প্রমাণীকরণ এবং অনুমোদন
API প্রমাণীকরণ এবং অনুমোদন কীভাবে পরিচালনা করা হয় তার মূল বিষয়গুলি বোঝা গুরুত্বপূর্ণ। সমস্ত API কল অবশ্যই সহজ বা অনুমোদিত অ্যাক্সেস ব্যবহার করতে হবে (নীচে সংজ্ঞায়িত)। অনেক এপিআই পদ্ধতির জন্য অনুমোদিত অ্যাক্সেসের প্রয়োজন হয়, তবে কেউ কেউ ব্যবহার করতে পারে। কিছু API পদ্ধতি যা ব্যবহার করতে পারে ভিন্নভাবে ব্যবহার করতে পারে, আপনি সাধারণ বা অনুমোদিত অ্যাক্সেস ব্যবহার করেন কিনা তার উপর নির্ভর করে। উপযুক্ত অ্যাক্সেসের ধরন নির্ধারণ করতে API এর পদ্ধতি ডকুমেন্টেশন দেখুন।
1. সাধারণ API অ্যাক্সেস (API কী)
এই API কলগুলি কোনও ব্যক্তিগত ব্যবহারকারীর ডেটা অ্যাক্সেস করে না। আপনার অ্যাপ্লিকেশনটি অবশ্যই আপনার Google API কনসোল প্রকল্পের অন্তর্গত একটি অ্যাপ্লিকেশন হিসাবে নিজেকে প্রমাণীকরণ করতে হবে৷ অ্যাকাউন্টিং উদ্দেশ্যে প্রকল্পের ব্যবহার পরিমাপ করার জন্য এটি প্রয়োজন।
API কী : আপনার অ্যাপ্লিকেশন প্রমাণীকরণ করতে, আপনার API কনসোল প্রকল্পের জন্য একটি API কী ব্যবহার করুন। আপনার অ্যাপ্লিকেশান করা প্রতিটি সাধারণ অ্যাক্সেস কলে অবশ্যই এই কী অন্তর্ভুক্ত করতে হবে।
2. অনুমোদিত API অ্যাক্সেস (OAuth 2.0)
এই API কলগুলি ব্যক্তিগত ব্যবহারকারীর ডেটা অ্যাক্সেস করে। আপনি তাদের কল করার আগে, যে ব্যবহারকারীর ব্যক্তিগত ডেটাতে অ্যাক্সেস রয়েছে তাকে অবশ্যই আপনার অ্যাপ্লিকেশন অ্যাক্সেস দিতে হবে। অতএব, আপনার আবেদন অবশ্যই প্রমাণীকৃত হতে হবে, ব্যবহারকারীকে অবশ্যই আপনার আবেদনের জন্য অ্যাক্সেস প্রদান করতে হবে এবং সেই অ্যাক্সেস মঞ্জুর করার জন্য ব্যবহারকারীকে অবশ্যই প্রমাণীকরণ করতে হবে। এই সমস্ত OAuth 2.0 এবং এটির জন্য লেখা লাইব্রেরি দিয়ে সম্পন্ন করা হয়েছে।
স্কোপ : প্রতিটি API এক বা একাধিক স্কোপকে সংজ্ঞায়িত করে যা অনুমোদিত ক্রিয়াকলাপগুলির একটি সেট ঘোষণা করে। উদাহরণস্বরূপ, একটি API-এর শুধুমাত্র-পঠন এবং পঠন-লেখার সুযোগ থাকতে পারে। যখন আপনার অ্যাপ্লিকেশন ব্যবহারকারীর ডেটা অ্যাক্সেসের অনুরোধ করে, তখন অনুরোধে অবশ্যই এক বা একাধিক স্কোপ অন্তর্ভুক্ত করতে হবে। ব্যবহারকারীকে আপনার আবেদনের অনুরোধ করা অ্যাক্সেসের সুযোগ অনুমোদন করতে হবে।
রিফ্রেশ এবং অ্যাক্সেস টোকেন : যখন কোনও ব্যবহারকারী আপনার অ্যাপ্লিকেশন অ্যাক্সেস মঞ্জুর করে, তখন OAuth 2.0 অনুমোদন সার্ভার আপনার অ্যাপ্লিকেশনকে রিফ্রেশ এবং অ্যাক্সেস টোকেন সরবরাহ করে। এই টোকেনগুলি শুধুমাত্র অনুরোধ করা সুযোগের জন্য বৈধ। আপনার অ্যাপ্লিকেশন API কল অনুমোদন করতে অ্যাক্সেস টোকেন ব্যবহার করে। অ্যাক্সেস টোকেন মেয়াদ শেষ, কিন্তু রিফ্রেশ টোকেন না. আপনার অ্যাপ্লিকেশন একটি নতুন অ্যাক্সেস টোকেন অর্জন করতে একটি রিফ্রেশ টোকেন ব্যবহার করতে পারে৷
ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট : এই স্ট্রিংগুলি অনন্যভাবে আপনার অ্যাপ্লিকেশন সনাক্ত করে এবং টোকেনগুলি অর্জন করতে ব্যবহৃত হয়। এগুলি API কনসোলে আপনার প্রকল্পের জন্য তৈরি করা হয়েছে। তিন ধরনের ক্লায়েন্ট আইডি আছে, তাই আপনার আবেদনের জন্য সঠিক ধরন পেতে ভুলবেন না:
- ওয়েব অ্যাপ্লিকেশন ক্লায়েন্ট আইডি
- ইনস্টল করা অ্যাপ্লিকেশন ক্লায়েন্ট আইডি
- পরিষেবা অ্যাকাউন্ট ক্লায়েন্ট আইডি
উদাহরণ
এই বিভাগে, অনুমোদন ছাড়া সাধারণ API ব্যবহারের উদাহরণ রয়েছে। অনুমোদন কল সম্পর্কে আরও তথ্যের জন্য, .NET-এর জন্য OAuth 2.0 পৃষ্ঠাটি দেখুন।
সহজ API উদাহরণ
এই উদাহরণটি একটি কমান্ড-লাইন অ্যাপ্লিকেশনের জন্য সাধারণ API অ্যাক্সেস ব্যবহার করে। এটি সমস্ত Google API তালিকাভুক্ত করার জন্য Google আবিষ্কার API-কে কল করে।
উদাহরণস্বরূপ সেটআপ করুন
আপনার সহজ API কী পান । আপনার অ্যাপ্লিকেশনের API কী খুঁজে পেতে, নিম্নলিখিতগুলি করুন:
- API কনসোলে শংসাপত্র পৃষ্ঠা খুলুন।
- এই API দুই ধরনের শংসাপত্র সমর্থন করে। আপনার প্রকল্পের জন্য উপযুক্ত যে কোনো শংসাপত্র তৈরি করুন:
OAuth 2.0: যখনই আপনার অ্যাপ্লিকেশন ব্যক্তিগত ব্যবহারকারীর ডেটার অনুরোধ করে, তখন অনুরোধের সাথে একটি OAuth 2.0 টোকেন পাঠাতে হবে। আপনার আবেদন প্রথমে একটি ক্লায়েন্ট আইডি পাঠায় এবং সম্ভবত, একটি টোকেন পাওয়ার জন্য একটি ক্লায়েন্ট গোপনীয়তা পাঠায়। আপনি ওয়েব অ্যাপ্লিকেশন, পরিষেবা অ্যাকাউন্ট বা ইনস্টল করা অ্যাপ্লিকেশনগুলির জন্য OAuth 2.0 শংসাপত্র তৈরি করতে পারেন৷
আরও তথ্যের জন্য, OAuth 2.0 ডকুমেন্টেশন দেখুন।
API কী: একটি অনুরোধ যা একটি OAuth 2.0 টোকেন প্রদান করে না একটি API কী পাঠাতে হবে। কী আপনার প্রকল্পকে শনাক্ত করে এবং API অ্যাক্সেস, কোটা এবং রিপোর্ট প্রদান করে।
API API কীগুলিতে বিভিন্ন ধরণের সীমাবদ্ধতা সমর্থন করে। যদি আপনার প্রয়োজনীয় API কীটি ইতিমধ্যেই বিদ্যমান না থাকে, তাহলে Create Credentials > API কী ক্লিক করে কনসোলে একটি API কী তৈরি করুন। আপনি কীটিকে উৎপাদনে ব্যবহার করার আগে Restrict key-এ ক্লিক করে সীমাবদ্ধতাগুলির একটি নির্বাচন করে সীমাবদ্ধ করতে পারেন।
আপনার API কীগুলি সুরক্ষিত রাখতে, নিরাপদে API কীগুলি ব্যবহার করার জন্য সর্বোত্তম অনুশীলনগুলি অনুসরণ করুন৷
উদাহরণস্বরূপ কোড
using System;
using System.Threading.Tasks;
using Google.Apis.Discovery.v1;
using Google.Apis.Discovery.v1.Data;
using Google.Apis.Services;
namespace Discovery.ListAPIs
{
/// <summary>
/// This example uses the discovery API to list all APIs in the discovery repository.
/// https://developers.google.com/discovery/v1/using.
/// <summary>
class Program
{
[STAThread]
static void Main(string[] args)
{
Console.WriteLine("Discovery API Sample");
Console.WriteLine("====================");
try
{
new Program().Run().Wait();
}
catch (AggregateException ex)
{
foreach (var e in ex.InnerExceptions)
{
Console.WriteLine("ERROR: " + e.Message);
}
}
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
private async Task Run()
{
// Create the service.
var service = new DiscoveryService(new BaseClientService.Initializer
{
ApplicationName = "Discovery Sample",
ApiKey="[YOUR_API_KEY_HERE]",
});
// Run the request.
Console.WriteLine("Executing a list request...");
var result = await service.Apis.List().ExecuteAsync();
// Display the results.
if (result.Items != null)
{
foreach (DirectoryList.ItemsData api in result.Items)
{
Console.WriteLine(api.Id + " - " + api.Title);
}
}
}
}
}
API কী ব্যবহার করার জন্য টিপস:
- একটি নির্দিষ্ট পরিষেবা ব্যবহার করার জন্য, আপনাকে এটিতে একটি রেফারেন্স যোগ করতে হবে। উদাহরণস্বরূপ আপনি যদি টাস্ক এপিআই ব্যবহার করতে চান, তাহলে আপনাকে এর NuGet প্যাকেজ Google.Apis.Tasks.v1 ইনস্টল করতে হবে।
- একটি পরিষেবার একটি উদাহরণ তৈরি করতে, শুধুমাত্র তার কন্সট্রাকটরকে কল করুন। যেমন:
new TasksService(new BaseClientService.Initializer {...});"
। - একটি পরিষেবার সমস্ত পদ্ধতি পরিষেবা বস্তুর স্বতন্ত্র সংস্থানগুলিতে অবস্থিত। ডিসকভারি সার্ভিসের একটি
Apis
রিসোর্স রয়েছে, যাতে একটিList
পদ্ধতি রয়েছে। যখন আপনিservice.Apis.List(..)
কল করেন তখন এই পদ্ধতিকে লক্ষ্য করে একটি অনুরোধ বস্তু ফেরত দেওয়া হয়।
একটি অনুরোধ কার্যকর করতে, একটি অনুরোধেExecute()
বাExecuteAsyc()
পদ্ধতিতে কল করুন। -
BaseClientService.Initializer
উদাহরণেApiKey
বৈশিষ্ট্য ব্যবহার করে API কী সেট করুন।
APIs সম্পর্কে তথ্য খোঁজা
সমর্থিত APIs পৃষ্ঠাটি সমস্ত API তালিকা করে যা এই লাইব্রেরি ব্যবহার করে অ্যাক্সেস করা যেতে পারে সেইসাথে ডকুমেন্টেশনের লিঙ্কগুলিও।
আপনি APIs ব্রাউজ করতে, উপলব্ধ পদ্ধতিগুলি তালিকাভুক্ত করতে এবং এমনকি আপনার ব্রাউজার থেকে API কলগুলি চেষ্টা করতে APIs এক্সপ্লোরার ব্যবহার করতে পারেন৷