এই নথিতে নেভিগেশন কানেক্ট ব্যবহার শুরু করার জন্য প্রয়োজনীয় ধাপগুলো বর্ণনা করা হয়েছে।
| আপনি পূর্বশর্তগুলো পূরণ করেছেন কিনা তা যাচাই করুন। | আপনার গুগল ক্লাউড প্রজেক্টে এপিআই (API) চালু করুন। | একটি প্রমাণীকৃত এপিআই অনুরোধ করার জন্য OAuth কনফিগার করুন। |
অননুমোদিত ব্যবহার রোধ করার জন্য গুগল ম্যাপস প্ল্যাটফর্মের পণ্যগুলিতে এপিআই কল করার সময় একটি OAuth টোকেন অন্তর্ভুক্ত করা আবশ্যক।
একটি OAuth টোকেন তৈরি করুন
ন্যাভিগেশন কানেক্ট প্রমাণীকরণের জন্য OAuth 2.0 সমর্থন করে। গুগল সাধারণ OAuth 2.0 সিনারিওগুলো সমর্থন করে, যেমন একটি ওয়েব সার্ভারের সিনারিও।
এই ডকুমেন্টটিতে বর্ণনা করা হয়েছে কীভাবে আপনার ডেভেলপমেন্ট এনভায়রনমেন্টে একটি নেভিগেশন কানেক্ট কলে OAuth টোকেন পাস করতে হয়। প্রোডাকশন এনভায়রনমেন্টে OAuth ব্যবহার সম্পর্কে আরও তথ্যের জন্য, Google-এর Authentication methods দেখুন।
আপনি সার্ভারে এপিআই (API) অনুরোধ পাঠিয়ে সরাসরি গুগল ম্যাপস এপিআই কল করতে পারেন, অথবা আপনার কোড সহজ করার জন্য ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে পারেন। গুগল ম্যাপস Go, Java, Node.js, এবং Python-এর জন্য ক্লায়েন্ট লাইব্রেরি সরবরাহ করে। আরও তথ্যের জন্য, নেভিগেশন কানেক্ট ক্লায়েন্ট লাইব্রেরি দেখুন।
OAuth ওভারভিউ
আপনার ডেপ্লয়মেন্ট এনভায়রনমেন্টের উপর নির্ভর করে, আপনি OAuth ব্যবহার করে বিভিন্ন উপায়ে অ্যাক্সেস টোকেন তৈরি এবং পরিচালনা করতে পারেন।
আপনার অ্যাপ্লিকেশন এবং একটি গুগল পরিষেবার মধ্যে সার্ভার-টু-সার্ভার যোগাযোগের জন্য আপনি OAuth 2.0 ব্যবহার করতে পারেন। এই ক্ষেত্রে, আপনি কোনো স্বতন্ত্র ব্যবহারকারীর পরিবর্তে আপনার অ্যাপ্লিকেশনের সাথে যুক্ত একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করেন। আপনি ব্যবহারকারীদের সরাসরি যুক্ত না করেই পরিষেবা অ্যাকাউন্টটি ব্যবহার করে এপিআই (API) অনুরোধ করতে পারেন। প্রমাণীকরণ পদ্ধতি সম্পর্কে আরও তথ্যের জন্য, গুগলের প্রমাণীকরণ পদ্ধতিসমূহ দেখুন।
বিকল্পভাবে, আপনি একটি অ্যান্ড্রয়েড বা আইওএস মোবাইল অ্যাপে নেভিগেশন কানেক্ট ইন্টিগ্রেট করতে পারেন। OAuth ব্যবহার এবং বিভিন্ন ডেপ্লয়মেন্ট এনভায়রনমেন্টের জন্য অ্যাক্সেস টোকেন ম্যানেজ করার বিষয়ে আরও তথ্যের জন্য, “Using OAuth 2.0 to Access Google APIs” দেখুন।
OAuth স্কোপ
Navigation Connect-এর সাথে OAuth ব্যবহার করতে হলে, আপনাকে OAuth টোকেনটিতে নিম্নলিখিত স্কোপটি নির্ধারণ করতে হবে:
https://www.googleapis.com/auth/cloud-platform
উদাহরণ: আপনার স্থানীয় ডেভেলপমেন্ট পরিবেশে REST API কলগুলি চেষ্টা করুন।
আপনার যদি টোকেন তৈরি করার মতো কোনো পরিবেশ না থাকে এবং আপনি একটি OAuth টোকেন দিয়ে নেভিগেশন কানেক্ট ব্যবহার করে দেখতে চান, তাহলে এই বিভাগে বর্ণিত পদ্ধতিটি অনুসরণ করুন।
এই উদাহরণটি বর্ণনা করে যে কীভাবে অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস (ADC) দ্বারা প্রদত্ত OAuth টোকেন ব্যবহার করে কলটি করা যায়। ক্লায়েন্ট লাইব্রেরি ব্যবহার করে ADC-এর মাধ্যমে Google API কল করার বিষয়ে আরও তথ্যের জন্য, "ক্লায়েন্ট লাইব্রেরি ব্যবহার করে প্রমাণীকরণ" দেখুন।
নিম্নলিখিত REST প্রসিডিউরটি শুধুমাত্র ডেভেলপমেন্ট বা টেস্টিং-এর জন্য ব্যবহার করুন, প্রোডাকশনের জন্য নয়।
পূর্বশর্ত
ADC ব্যবহার করে REST অনুরোধ করার আগে, gcloud CLI ব্যবহার করে ADC-কে ক্রেডেনশিয়াল প্রদান করুন:
gcloudCLI ইনস্টল এবং ইনিশিয়ালাইজ করুন। আরও তথ্যের জন্য, “Install the gcloud CLI” দেখুন।gcloudCLI দিয়ে প্রমাণীকরণ করুন:gcloud auth application-default login
ADC দ্বারা ব্যবহৃত স্থানীয় ক্রেডেনশিয়াল ফাইলে আপনার ক্রেডেনশিয়ালগুলি সংরক্ষণ করতে সাইন-ইন প্রক্রিয়াটি সম্পূর্ণ করুন।
আরও তথ্যের জন্য, স্থানীয় উন্নয়ন পরিবেশের জন্য ADC সেট আপ দেখুন।
একটি REST অনুরোধ করুন
এই উদাহরণে, আপনি দুটি রিকোয়েস্ট হেডার পাস করেন:
টোকেন তৈরি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করে
Authorizationহেডারে OAuth টোকেনটি পাস করুন:gcloud auth application-default print-access-tokenফেরত আসা টোকেনটির পরিধি হলো
https://www.googleapis.com/auth/cloud-platform।X-Goog-User-Projectহেডারে আপনার সেই গুগল ক্লাউড প্রজেক্টের আইডি বা নামটি দিন, যেটিতে বিলিং চালু করা আছে।
OAuth টোকেন ব্যবহার করে নেভিগেশন কানেক্ট কল করতে, নিম্নলিখিত ধাপগুলি সম্পন্ন করুন:
নিচের কোড নমুনায়, প্লেসহোল্ডারগুলো আপনার মান দিয়ে প্রতিস্থাপন করুন:
- PROJECT_ID : আপনার গুগল ক্লাউড প্রজেক্ট আইডি
- ANDROID_APP_ID : আপনার অ্যাপের অ্যান্ড্রয়েড প্যাকেজ নাম, যদি প্রযোজ্য হয়
- IOS_APP_ID : আপনার অ্যাপের iOS বান্ডেল আইডি, যদি প্রযোজ্য হয়
#!/bin/bash trip_id="$(uuidgen)" access_token="$(gcloud auth application-default print-access-token)" curl -X POST "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips?tripId=${trip_id}" \ -H "Authorization: Bearer ${access_token}" \ -H "Content-Type: application/json" \ -d '{ "androidAppId": "ANDROID_APP_ID", "iosAppId": "IOS_APP_ID", }'
curlকমান্ডটি কপি করতে, কোড স্যাম্পলটিতে থাকা `Copy` বাটনে ক্লিক করুন।টার্মিনাল উইন্ডোতে কমান্ডটি পেস্ট করুন এবং তারপর সেটি চালান।
প্রতিক্রিয়াটি একটি JSON অবজেক্ট:
{ "name": "projects/PROJECT_NUMBER/trips/TRIP_ID", "authToken": { "token": "BASE64_ENCODED_TRIP_TOKEN", "expireTime": "2026-03-06T11:09:47.476942Z" }, "state": "NEW", "execution": { "traveledDistanceMeters": 0, "stopAddedInRoute": false }, "createTime": "2026-03-05T23:09:50.768959Z", "updateTime": "2026-03-05T23:09:50.768959Z", }
এই প্রতিক্রিয়াটিতে নিম্নলিখিত মানগুলি অন্তর্ভুক্ত রয়েছে:
- PROJECT_NUMBER : প্রকল্পের অনন্য দীর্ঘ-পূর্ণসংখ্যা শনাক্তকারী
- TRIP_ID : আপনার ব্যাকএন্ড দ্বারা তৈরি UUIDv4 ট্রিপ আইডি
- BASE64_ENCODED_TRIP_TOKEN : এটি সেই প্রমাণীকৃত টোকেন যা `
createTripমেথডটি গুগল ম্যাপস বা ওয়েজ-এ ট্র্যাক করা টার্ন-বাই-টার্ন নেভিগেশন শুরু করার জন্য রিটার্ন করে।
সমস্যা সমাধান
আপনার অনুরোধের ফলে যদি এমন কোনো ত্রুটি বার্তা আসে যে এই API ব্যবহারকারীর পরিচয়পত্র সমর্থন করে না, তাহলে আপনার ADC সেটআপের সমস্যা সমাধান দেখুন।
এরপর কী?
এরপরে, আপনার ব্যাকএন্ড পরিকাঠামো, গুগল ম্যাপস এবং ওয়েজের মধ্যে নিরাপদ, সার্ভার-টু-সার্ভার যোগাযোগ সমর্থন করার জন্য নেভিগেশন কানেক্ট এপিআই-এর জন্য আপনার পরিষেবা অ্যাকাউন্টগুলি কনফিগার করুন।
আপনার পরিষেবা অ্যাকাউন্ট সেট আপ করুন