OAuth ব্যবহার করুন

Road Management Insights তার মূল উপাদান হিসেবে Roads Selection API ব্যবহার করে, যা BigQuery এবং Pub/Sub-কে রাস্তার ডেটা সরবরাহ করে।

OAuth ব্যবহার করুন

রোডস সিলেকশন এপিআই প্রমাণীকরণের জন্য OAuth 2.0-এর ব্যবহার সমর্থন করে। গুগল একটি ওয়েব সার্ভারের মতো সাধারণ OAuth 2.0 সিনারিওগুলো সমর্থন করে।

এই ডকুমেন্টটিতে বর্ণনা করা হয়েছে কীভাবে আপনার ডেভেলপমেন্ট এনভায়রনমেন্টে রোডস সিলেকশন এপিআই কলে একটি OAuth টোকেন পাস করতে হয়। প্রোডাকশন এনভায়রনমেন্টে OAuth ব্যবহারের নির্দেশাবলীর জন্য, “Authentication at Google” দেখুন।

শুরু করার আগে

রোডস সিলেকশন এপিআই ব্যবহার শুরু করার আগে, আপনার একটি বিলিং অ্যাকাউন্টসহ প্রজেক্ট এবং রোডস সিলেকশন এপিআই সক্রিয় করা থাকতে হবে। আমরা একাধিক প্রজেক্ট ওনার এবং বিলিং অ্যাডমিনিস্ট্রেটর তৈরি করার পরামর্শ দিই, যাতে আপনার টিমের জন্য এই ভূমিকাগুলো পালন করার মতো কেউ সবসময় উপলব্ধ থাকে। আরও জানতে, ক্লাউড কনসোলে সেট আপ দেখুন।

OAuth সম্পর্কে

আপনার ডেপ্লয়মেন্ট এনভায়রনমেন্টের উপর ভিত্তি করে OAuth ব্যবহার করে অ্যাক্সেস টোকেন তৈরি এবং পরিচালনা করার বিভিন্ন উপায় রয়েছে।

উদাহরণস্বরূপ, গুগল OAuth 2.0 সিস্টেম সার্ভার-টু-সার্ভার ইন্টারঅ্যাকশন সমর্থন করে, যেমন আপনার অ্যাপ্লিকেশন এবং একটি গুগল পরিষেবার মধ্যেকার ইন্টারঅ্যাকশন। এই পরিস্থিতির জন্য আপনার একটি সার্ভিস অ্যাকাউন্ট প্রয়োজন, যা কোনো স্বতন্ত্র ব্যবহারকারীর পরিবর্তে আপনার অ্যাপ্লিকেশনের নিজস্ব একটি অ্যাকাউন্ট। আপনার অ্যাপ্লিকেশনটি সার্ভিস অ্যাকাউন্টের পক্ষ থেকে গুগল এপিআই (API) কল করে, তাই ব্যবহারকারীরা সরাসরি জড়িত থাকেন না। অথেনটিকেশন পদ্ধতি সম্পর্কে আরও তথ্যের জন্য, "Authentication at Google" দেখুন।

বিকল্পভাবে, আপনি একটি অ্যান্ড্রয়েড বা আইওএস মোবাইল অ্যাপের অংশ হিসেবে রোডস সিলেকশন এপিআই ব্যবহার করতে পারেন। রোডস সিলেকশন এপিআই-এর সাথে OAuth ব্যবহারের সাধারণ তথ্যের জন্য, যার মধ্যে বিভিন্ন ডেপ্লয়মেন্ট এনভায়রনমেন্টের জন্য অ্যাক্সেস টোকেন পরিচালনার তথ্যও অন্তর্ভুক্ত, “Using OAuth 2.0 to Access Google APIs” দেখুন।

OAuth স্কোপ সম্পর্কে

Roads Selection API-এর সাথে OAuth ব্যবহার করতে হলে, OAuth টোকেনটিকে অবশ্যই এই স্কোপটি নির্ধারণ করতে হবে:

  • https://www.googleapis.com/auth/cloud-platform

উদাহরণ: আপনার স্থানীয় ডেভেলপমেন্ট পরিবেশে REST API কলগুলি চেষ্টা করুন।

আপনি যদি একটি OAuth টোকেন ব্যবহার করে রোডস সিলেকশন এপিআই (Roads Selection API) চেষ্টা করতে চান, কিন্তু টোকেন তৈরি করার জন্য আপনার পরিবেশ প্রস্তুত না থাকে, তাহলে কলটি করার জন্য আপনি এই বিভাগে বর্ণিত পদ্ধতিটি ব্যবহার করতে পারেন।

এই উদাহরণটি বর্ণনা করে যে কীভাবে অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস (ADC) দ্বারা প্রদত্ত OAuth টোকেন ব্যবহার করে কলটি করা যায়। ক্লায়েন্ট লাইব্রেরি ব্যবহার করে ADC-এর মাধ্যমে গুগল এপিআই কল করার বিষয়ে তথ্যের জন্য, "ক্লায়েন্ট লাইব্রেরি ব্যবহার করে প্রমাণীকরণ" দেখুন।

পূর্বশর্ত

ADC ব্যবহার করে REST অনুরোধ করার আগে, Google Cloud CLI ব্যবহার করে ADC-কে ক্রেডেনশিয়াল প্রদান করুন:

  1. যদি আগে থেকে না করে থাকেন, তাহলে Google Cloud Console-এর সেট আপ- এ দেওয়া ধাপগুলো অনুসরণ করে একটি প্রজেক্ট তৈরি করুন এবং বিলিং চালু করুন।
  2. gcloud CLI ইনস্টল এবং চালু করুন
  3. আপনার ক্রেডেনশিয়াল ফাইল তৈরি করতে আপনার স্থানীয় মেশিনে নিম্নলিখিত gcloud কমান্ডটি চালান:

    gcloud auth application-default login
  4. একটি লগইন স্ক্রিন প্রদর্শিত হয়। আপনি লগইন করার পর, আপনার ক্রেডেনশিয়ালগুলো ADC দ্বারা ব্যবহৃত লোকাল ক্রেডেনশিয়াল ফাইলে সংরক্ষিত হয়।

আরও তথ্যের জন্য, অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস ডকুমেন্টেশনের 'প্রোভাইড ক্রেডেনশিয়ালস' অংশের 'লোকাল ডেভেলপমেন্ট এনভায়রনমেন্ট' বিভাগটি দেখুন।

একটি REST অনুরোধ করুন

এই উদাহরণে, আপনি দুটি রিকোয়েস্ট হেডার পাস করেন:

  • টোকেন তৈরি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করে Authorization হেডারে OAuth টোকেনটি পাস করুন:

    gcloud auth application-default print-access-token

    ফেরত আসা টোকেনটির পরিধি হলো https://www.googleapis.com/auth/cloud-platform.

  • X-Goog-User-Project হেডারে আপনার সেই Google Cloud প্রজেক্টের আইডি বা নামটি দিন, যেটিতে বিলিং চালু করা আছে। আরও জানতে, ক্লাউড কনসোলে সেট আপ দেখুন।

নিম্নলিখিত উদাহরণটি একটি OAuth টোকেন ব্যবহার করে রোডস সিলেকশন এপিআই-তে কল করে:

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID

সমস্যা সমাধান

আপনার অনুরোধটি যদি এই API দ্বারা শেষ-ব্যবহারকারীর পরিচয়পত্র সমর্থিত না হওয়ার বিষয়ে কোনো ত্রুটি বার্তা দেখায়, তাহলে "ব্যবহারকারীর পরিচয়পত্র কাজ করছে না" দেখুন।