নেভিগেশন কানেক্ট সেট আপ করুন

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA) ডেভেলপাররা

এই নথিতে নেভিগেশন কানেক্ট ব্যবহার শুরু করার জন্য প্রয়োজনীয় পদক্ষেপগুলো বর্ণনা করা হয়েছে।

এপিআই কলে OAuth টোকেন অন্তর্ভুক্ত করা বাধ্যতামূলক করার মাধ্যমে গুগল ম্যাপস প্ল্যাটফর্মের পণ্যগুলোকে অননুমোদিত ব্যবহার থেকে সুরক্ষিত রাখা হয়।

একটি OAuth টোকেন তৈরি করুন

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

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

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-এর মাধ্যমে গুগল এপিআই কল করার বিষয়ে তথ্যের জন্য, "ক্লায়েন্ট লাইব্রেরি ব্যবহার করে প্রমাণীকরণ" দেখুন।

পূর্বশর্ত

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

  1. gcloud CLI ইনস্টল এবং চালু করুন
  2. আপনার ক্রেডেনশিয়াল ফাইল তৈরি করতে আপনার স্থানীয় মেশিনে নিম্নলিখিত gcloud কমান্ডটি চালান:

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

আরও তথ্যের জন্য, স্থানীয় উন্নয়ন পরিবেশের জন্য ADC সেট আপ দেখুন।

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

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

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

    gcloud auth application-default print-access-token

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

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

নিম্নলিখিত উদাহরণটি একটি OAuth টোকেন ব্যবহার করে নেভিগেশন কানেক্ট-এ কল করে।

  1. আপনার গুগল ক্লাউড প্রজেক্টের আইডি দেওয়ার জন্য 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",
    }'
  2. কোড স্যাম্পলটিতে থাকা কপি আইকনটিতে ক্লিক করুন, কপি আইকনটি নির্বাচন করুন। curl কমান্ডটি কপি করতে।
  3. টার্মিনাল উইন্ডোতে কমান্ডটি পেস্ট করুন এবং কমান্ডটি চালান।

প্রতিক্রিয়াটি একটি 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 মেথড দ্বারা ফেরত দেওয়া প্রমাণীকৃত টোকেন। Google Maps বা Waze-এ ট্র্যাক করা টার্ন-বাই-টার্ন নেভিগেশন শুরু করতে এই টোকেনটি আপনার মোবাইল অ্যাপে পাঠান।

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

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

এরপর কী?

নেভিগেশন কানেক্ট এপিআই সেট আপ করার পরবর্তী ধাপ হলো আপনার সার্ভিস অ্যাকাউন্টগুলো সেট আপ করা, যা আপনার ব্যাকএন্ড ইনফ্রাস্ট্রাকচার এবং গুগল ম্যাপস ও ওয়েজের মধ্যে নিরাপদ, সার্ভার-টু-সার্ভার যোগাযোগ সক্ষম করবে।

আপনার পরিষেবা অ্যাকাউন্ট সেট আপ করুন