Places API (নতুন) ব্যবহার শুরু করার জন্য আপনাকে যেসব ধাপ অনুসরণ করতে হবে তা এই ডকুমেন্টে বর্ণনা করা হয়েছে।
পূর্বশর্ত
এই পদ্ধতিতে, Google Cloud অ্যাকাউন্ট এবং বিলিং চালু করা আছে এমন Google Cloud প্রোজেক্ট সেট-আপ করার ব্যাপারে আপনাকে গাইড করা হয়েছে। এছাড়াও, Places API (নতুন) ব্যবহার করার জন্য আপনাকে কীভাবে চার্জ করা হবে সেই সম্পর্কে আপনার জানা উচিত।
- ব্যবহারের জন্য বিলিং এবং খরচ Places API (নতুন) ব্যবহার এবং বিলিং-এপর্যালোচনা করুন।
আপনার একটি Google Cloud অ্যাকাউন্ট আছে কিনা তা যাচাই করুন।
Google Cloud কনসোলে সাইন-ইন করুনবিলিং চালু করা আছে এমন একটি Google Cloud প্রোজেক্ট আপনার আছে কিনা তা যাচাই করুন।
বিলিং পৃষ্ঠায় যান- বিলিং পৃষ্ঠা খুলতে আপনার প্রোজেক্ট বেছে নিন।
বিলিং পৃষ্ঠায়:
- বেছে নেওয়া প্রোজেক্টের জন্য বিলিং আগে থেকেই চালু করা থাকলে এবং আপনার কাছে শুধুমাত্র একটি বিলিং অ্যাকাউন্ট থাকলে, বিলিং পৃষ্ঠা খুলে যাবে।
- আপনার একাধিক বিলিং অ্যাকাউন্ট থাকলে, প্রোজেক্টের সাথে যুক্ত বিলিং অ্যাকাউন্ট সম্পর্কে বিবরণ দেখতে লিঙ্ক করা বিলিং অ্যাকাউন্টে যান বিকল্প বেছে নিন।
- বিলিং অ্যাকাউন্ট থাকলে কিন্তু প্রোজেক্টের সাথে যুক্ত না থাকলে, আপনাকে প্রোজেক্টের সাথে বিলিং অ্যাকাউন্ট লিঙ্ক করতে বলা হবে।
- কোনও বিলিং অ্যাকাউন্ট না থাকলে অথবা আপনি নতুন বিলিং অ্যাকাউন্ট তৈরি করতে চাইলে, নতুন বিলিং অ্যাকাউন্ট তৈরি করতে বিলিং অ্যাকাউন্ট ম্যানেজ করুন বিকল্প বেছে নিন। আরও তথ্যের জন্য, নতুন সেল্ফ-সার্ভ ক্লাউড বিলিং অ্যাকাউন্ট তৈরি করুন দেখুন।
API চালু করুন
Places API (নতুন) ব্যবহার করার আগে, আপনার Google Cloud প্রোজেক্টে এটি চালু করতে, আপনাকে অবশ্যই Google Cloud কনসোল বা
gcloud কমান্ড ব্যবহার করতে হবে।
API চালু করতে:
কনসোল
Google Cloud কনসোলে প্রোডাক্ট পৃষ্ঠা খুলুন:
Places API (নতুন) চালু করুনচালু করুন বোতামে ক্লিক করুন।
gcloud
gcloud services enable \ --project "PROJECT" \ "places.googleapis.com"
Google Cloud SDK, Cloud SDK ইনস্টলেশন এবং নিম্নলিখিত কমান্ড সম্পর্কে আরও পড়ুন:
Places API (নতুন)-এর সাথে ব্যবহার করার জন্য API key পান
Google Maps Platform প্রোডাক্টকে অননুমোদিত ব্যবহার থেকে সুরক্ষিত রাখতে API কলে API কী অথবা OAuth টোকেন যেকোনও একটি অন্তর্ভুক্ত করতে হয়। API key সংক্রান্ত পদ্ধতি প্রথমে আসে। পরিবর্তে OAuth টোকেন ব্যবহার করতে, OAuth টোকেন তৈরি করুন দেখুন।
API কী হল একটি অনন্য আলফানিউমেরিক স্ট্রিং যা আপনার Cloud Billing অ্যাকাউন্ট এবং Google Cloud প্রোজেক্টকে আপনার অ্যাপ্লিকেশন Google Maps Platform API বা SDK-তে করা অনুরোধের সাথে যুক্ত করে। নতুন 'কী' তৈরি করতে অথবা আগে থেকে থাকা 'কী'-তে API বা SDK যোগ করতে, এইসব নির্দেশাবলী অনুসরণ করুন।
কনসোল
-
Google Maps Platform > কী ও ক্রেডেনশিয়াল পৃষ্ঠায় যান।
- প্রম্পট করা হলে, আপনার প্রোজেক্ট বেছে নিন।
-
নিম্নলিখিতগুলির মধ্যে থেকে যেকোনও একটি করুন:
-
নতুন 'কী' তৈরি করুন:
- ক্রেডেনশিয়াল তৈরি করুন > API key বিকল্পে ক্লিক করুন।
- API key তৈরি করুন প্যানেলে, API সংক্রান্ত বিধিনিষেধ বেছে নিন তালিকা খুলুন।
- এই 'কী'-এর প্রয়োজন নেই এমন যেকোনও API মুছে দিন এবং নিশ্চিত করুন যে Places API (নতুন) বেছে নেওয়া আছে।
- তৈরি করুন বিকল্পে ক্লিক করুন। প্যানেলে আপনার নতুন API কী দেখা যাবে।
-
আগে থেকে থাকা 'কী' ব্যবহার করুন:
- 'কী'-এর নামে ক্লিক করুন।
- API সংক্রান্ত বিধিনিষেধ বেছে নিন তালিকা থেকে, Places API (নতুন) বেছে নিন।
- সেভ করুন বিকল্পে ক্লিক করুন।
এখানে API বেছে নিলে তা চালু হয় না। Places API (নতুন) এর API লাইব্রেরি পৃষ্ঠায় চালু করা আছে কিনা তা নিশ্চিত করুন।
-
- পরে কী স্ট্রিং দেখতে, কী ও ক্রেডেনশিয়াল পৃষ্ঠায় যান এবং কী-এর জন্য কী দেখুন বিকল্পে ক্লিক করুন।
কনসোলটি যদি এই ধাপগুলির থেকে আলাদা দেখায়, তাহলে Google Cloud ডকুমেন্টেশনে একটি API কী তৈরি করুন এবং API বিধিনিষেধ যোগ করুন দেখুন।
gcloud
নিচের কমান্ডে PROJECT_ID-এর জায়গায় আপনার প্রোজেক্ট আইডি লিখুন।
-
নতুন 'কী' তৈরি করুন: নিম্নলিখিত কমান্ড রান করুন এবং DISPLAY_NAME-এর জায়গায় 'কী'-এর নাম লিখুন।
gcloud services api-keys create \ --project="PROJECT_ID" \ --display-name="DISPLAY_NAME" \ --api-target=service=places.googleapis.com
Google Cloud SDK, Cloud SDK ইনস্টলেশন এবং নিম্নলিখিত কমান্ড সম্পর্কে আরও পড়ুন:
-
আগে থেকে থাকা 'কী' ব্যবহার করুন: নিম্নলিখিত কমান্ড রান করুন এবং KEY_ID-এর জায়গায় 'কী'-এর আইডি লিখুন।
--appendফ্ল্যাগ সেইসব API রাখে যেগুলি 'কী' আগে থেকেই অনুমোদন করে। এটি না থাকলে, কমান্ডটি সেগুলি পরিবর্তন করে।gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=places.googleapis.com
Google Cloud SDK, Cloud SDK ইনস্টলেশন এবং নিম্নলিখিত কমান্ড সম্পর্কে আরও পড়ুন:
'কী' আইডি হল 'কী' স্ট্রিং বা ডিসপ্লে নাম নয়। এটি খুঁজতে,
gcloud services api-keys list --project="PROJECT_ID"রান করুন। আইডি হলnameফিল্ডের শেষ অংশ:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID।
কী স্ট্রিং দেখতে,
gcloud services api-keys get-key-string KEY_ID
--project="PROJECT_ID" রান করুন।
API সংক্রান্ত অনুরোধ করা
"Spicy Vegetarian Food in Sydney, Australia" স্ট্রিংয়ে টেক্সট সার্চের জন্য JSON রেসপন্স পেতে Places API (নতুন) অনুরোধ করুন। প্রতিটি অনুরোধের সাথে আপনার API key-এর বর্ণসাংখ্যিক স্ট্রিং যোগ করতে হবে এবং API key সহ অনুরোধের জন্য HTTPS ব্যবহার করতে হবে।
কী-এর বর্ণসাংখ্যিক স্ট্রিং যোগ করতে নিচের কোডে API_KEY-এ ক্লিক করুন:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'curlকমান্ড কপি করতে,
,
কোড স্যাম্পেলে কপি আইকনে ক্লিক করুন।- টার্মিনাল উইন্ডোতে কমান্ড পেস্ট করে রান করুন।
রেসপন্স হল এই ফর্মের একটি JSON অবজেক্ট:
{ "places": [ { "name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0", "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0", "types": [ "vegan_restaurant", "vegetarian_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "nationalPhoneNumber": "0433 479 794", "internationalPhoneNumber": "+61 433 479 794", "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "addressComponents": [ { "longText": "29", "shortText": "29", "types": [ "street_number" ], "languageCode": "en-US" }, ... }
API key সংক্রান্ত বিধিনিষেধ প্রয়োগ করুন
Google আপনাকে API কী-এর ব্যবহার শুধুমাত্র সেইসব API ও অ্যাপে সীমাবদ্ধ রাখার জন্য সুপারিশ করে যেগুলির জন্য API কী প্রয়োজন। API কী সীমাবদ্ধ করলে, আপনার অ্যাপ্লিকেশনকে অযাচিত অনুরোধ থেকে রক্ষা করে সুরক্ষা প্রদান করে। API কী দুই ধরনের বিধিনিষেধ সমর্থন করে:
- API সংক্রান্ত বিধিনিষেধ API কী ব্যবহার করে কোন SDK এবং API কল করা যাবে তা নির্দিষ্ট করে। আপনি কোনও 'কী' তৈরি করলে, কনসোল এবং gcloud CLI-এর জন্য অন্তত একটি API সংক্রান্ত বিধিনিষেধ প্রয়োজন।
- অ্যাপ্লিকেশন সংক্রান্ত বিধিনিষেধ কোন কোন ওয়েবসাইট, IP অ্যাড্রেস বা অ্যাপ API key ব্যবহার করতে পারবে তা নির্দিষ্ট করে।
বিধিনিষেধ প্রয়োগ করার ব্যাপারে আরও তথ্য পেতে, আপনার API কী সীমাবদ্ধ করুন দেখুন।
OAuth টোকেন তৈরি করা
Places API (নতুন) যাচাইকরণের জন্য OAuth 2.0 সমর্থন করে। Google সাধারণ OAuth 2.0 পরিস্থিতি সমর্থন করে, যেমন একটি ওয়েব সার্ভারের জন্য পরিস্থিতি।
আপনার ডেভেলপমেন্ট এনভায়রনমেন্টে Places API (নতুন) কলে কীভাবে OAuth টোকেন পাস করতে হয় তা এই ডকুমেন্টে বর্ণনা করা হয়েছে। প্রোডাকশন এনভায়রনমেন্টে OAuth ব্যবহার করার ব্যাপারে আরও তথ্য পেতে, Google-এ যাচাইকরণ পদ্ধতি দেখুন।
আপনি সার্ভারে API অনুরোধ করে সরাসরি Google Maps API কল করতে পারেন অথবা আপনার কোড সহজ করতে ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে পারেন। Google Maps, Go, Java, Node.js ও Python-এর জন্য ক্লায়েন্ট লাইব্রেরি প্রদান করে। আরও তথ্যের জন্য, Places API (নতুন) ক্লায়েন্ট লাইব্রেরি দেখুন।
OAuth ওভারভিউ
আপনার ডিপ্লয়মেন্ট এনভায়রনমেন্টের উপর নির্ভর করে আপনি বিভিন্ন উপায়ে OAuth-এর মাধ্যমে অ্যাক্সেস টোকেন তৈরি ও ম্যানেজ করতে পারবেন।
আপনার অ্যাপ্লিকেশন এবং Google পরিষেবার মধ্যে সার্ভার-টু-সার্ভার ইন্টার্যাকশনের জন্য আপনি OAuth 2.0 ব্যবহার করতে পারেন। এই পরিস্থিতিতে, আপনি এমন একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করেন যা কোনও স্বতন্ত্র ব্যবহারকারীর পরিবর্তে আপনার অ্যাপ্লিকেশনের সাথে যুক্ত। আপনি ব্যবহারকারীদের সরাসরি যুক্ত না করেই পরিষেবা অ্যাকাউন্ট ব্যবহার করে API অনুরোধ করতে পারেন। যাচাইকরণ পদ্ধতি সম্পর্কে আরও জানতে, Google-এ যাচাইকরণ পদ্ধতি দেখুন।
বিকল্প হিসেবে, আপনি Places API (নতুন) Android বা iOS মোবাইল অ্যাপে ইন্টিগ্রেট করতে পারেন। বিভিন্ন ডেপ্লয়মেন্ট এনভায়রনমেন্টের জন্য OAuth ব্যবহার করা ও অ্যাক্সেস টোকেন ম্যানেজ করা সম্পর্কে আরও তথ্য পেতে, Google API অ্যাক্সেস করতে OAuth 2.0 ব্যবহার করা দেখুন।
OAuth স্কোপ
Places API (নতুন)-এর সাথে OAuth ব্যবহার করতে, আপনাকে অবশ্যই OAuth টোকেনকে নিম্নলিখিত স্কোপটি অ্যাসাইন করতে হবে:
https://www.googleapis.com/auth/cloud-platform
যেমন: আপনার লোকাল ডেভেলপমেন্ট এনভায়রনমেন্টে REST API কল করে দেখুন
আপনার কাছে টোকেন জেনারেট করার মতো কোনও এনভায়রনমেন্ট না থাকলে এবং আপনি OAuth টোকেন সহ Places API (New) ব্যবহার করে দেখতে চাইলে, এই বিভাগে উল্লেখ করা পদ্ধতি অনুসরণ করুন।
এই উদাহরণে দেখানো হয়েছে যে কল করার জন্য কীভাবে অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল (ADC)-এর মাধ্যমে প্রদান করা OAuth টোকেন ব্যবহার করতে হয়। ক্লায়েন্ট লাইব্রেরির মাধ্যমে Google API কল করার জন্য ADC ব্যবহার করা সম্পর্কে আরও তথ্যের জন্য, ক্লায়েন্ট লাইব্রেরি ব্যবহার করে যাচাইকরণ করুন দেখুন।
নিম্নলিখিত REST পদ্ধতি শুধুমাত্র ডেভেলপমেন্ট বা পরীক্ষার জন্য ব্যবহার করুন, প্রোডাকশনের জন্য নয়।
পূর্বশর্ত
ADC ব্যবহার করে REST অনুরোধ করার আগে, ADC-তে ক্রেডেনশিয়াল প্রদান করতে gcloud CLI ব্যবহার করুন:
gcloudCLI ইনস্টল ও ইনিশিয়ালাইজ করুন। আরও তথ্যের জন্য, 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।আপনার Google Cloud প্রোজেক্টের আইডি বা নাম পাস করুন, যার বিলিং
X-Goog-User-Projectহেডারে চালু করা আছে।
OAuth টোকেন ব্যবহার করে Places API (নতুন) কল করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:
নিম্নলিখিত কোড স্যাম্পেলে, PROJECT_ID-এর জায়গায় আপনার Google Cloud প্রোজেক্ট আইডি লিখুন:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \ "https://places.googleapis.com/v1/places:searchText"
curlকমান্ড কপি করতে, কোড স্যাম্পেলে কপি করুন বিকল্পে ক্লিক করুন।টার্মিনাল উইন্ডোতে কমান্ড পেস্ট করে রান করুন।
রেসপন্স একটি JSON অবজেক্ট:
{
"places": [
{
"name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0",
"id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
"types": [
"vegan_restaurant",
"vegetarian_restaurant",
"meal_takeaway",
"restaurant",
"food",
"point_of_interest",
"establishment"
],
"nationalPhoneNumber": "0433 479 794",
"internationalPhoneNumber": "+61 433 479 794",
"formattedAddress": "29 King St, Sydney NSW 2000, Australia",
"addressComponents": [
{
"longText": "29",
"shortText": "29",
"types": [
"street_number"
],
"languageCode": "en-US"
},
...
}
সমস্যার সমাধান
আপনার অনুরোধে যদি এমন কোনও ত্রুটি মেসেজ আসে যাতে বলা হয় যে এই API-তে এন্ড-ইউজার ক্রেডেনশিয়াল কাজ করে না, তাহলে আপনার ADC সেট-আপের সমস্যার সমাধান করুন।
এর পরে কী করতে হবে
আপনি Places API (নতুন) চালু এবং API কী কনফিগার করেছেন, তাই Places API (নতুন) কীভাবে ব্যবহার করবেন সেই সম্পর্কে আরও জানতে Places API (নতুন) সম্পর্কে দেখুন।