API কী হল একটি অনন্য স্ট্রিং যা Firebase এবং Google পরিষেবার সাথে ইন্টারঅ্যাক্ট করার সময় আপনার Firebase প্রকল্পে অনুরোধগুলি রুট করতে ব্যবহৃত হয়। এই পৃষ্ঠায় API কী সম্পর্কে মৌলিক তথ্যের পাশাপাশি Firebase অ্যাপগুলির সাথে API কী ব্যবহার এবং পরিচালনা করার সর্বোত্তম অনুশীলনগুলি বর্ণনা করা হয়েছে।
API কী এবং Firebase সম্পর্কে সাধারণ তথ্য
Firebase-এর জন্য API কীগুলি সাধারণ API কীগুলির থেকে আলাদা।
সাধারণত API কীগুলি যেভাবে ব্যবহৃত হয় তার বিপরীতে, Firebase পরিষেবাগুলির জন্য API কীগুলি ব্যাকএন্ড রিসোর্সে অ্যাক্সেস নিয়ন্ত্রণ করতে ব্যবহৃত হয় না ; এটি শুধুমাত্র Firebase Security Rules (কোন শেষ ব্যবহারকারীরা রিসোর্সে অ্যাক্সেস করতে পারবেন তা নিয়ন্ত্রণ করতে) এবং Firebase App Check (কোন অ্যাপগুলি রিসোর্সে অ্যাক্সেস করতে পারবেন তা নিয়ন্ত্রণ করতে) দিয়ে করা যেতে পারে।
সাধারণত, আপনাকে API কীগুলি সাবধানতার সাথে রক্ষা করতে হবে (উদাহরণস্বরূপ, একটি ভল্ট পরিষেবা ব্যবহার করে বা কীগুলিকে পরিবেশ ভেরিয়েবল হিসাবে সেট করে); তবে, Firebase পরিষেবাগুলির জন্য API কীগুলি কোড বা চেক-ইন কনফিগার ফাইলগুলিতে অন্তর্ভুক্ত করা ঠিক আছে।
যদিও Firebase পরিষেবার জন্য API কীগুলি কোডে অন্তর্ভুক্ত করা নিরাপদ, আপনার পর্যালোচনা করা উচিত এবং সেগুলিতে যথাযথ বিধিনিষেধ এবং সীমা প্রয়োগ করা উচিত ।
API কী তৈরি করা হচ্ছে
একটি ফায়ারবেস প্রকল্পে অনেকগুলি API কী থাকতে পারে, তবে প্রতিটি API কী কেবল একটি একক ফায়ারবেস প্রকল্পের সাথে যুক্ত হতে পারে।

আপনি যখন নিম্নলিখিত যেকোনো একটি করেন তখন Firebase স্বয়ংক্রিয়ভাবে আপনার প্রকল্পের জন্য API কী তৈরি করে:
- একটি Firebase প্রকল্প তৈরি করুন >
Browser keyস্বয়ংক্রিয়ভাবে তৈরি - একটি Firebase Apple অ্যাপ তৈরি করুন >
iOS keyস্বয়ংক্রিয়ভাবে তৈরি - একটি Firebase Android অ্যাপ তৈরি করুন >
Android keyস্বয়ংক্রিয়ভাবে তৈরি
আপনি Google Cloud Console- এ আপনার নিজস্ব API কী তৈরি করতে পারেন, উদাহরণস্বরূপ ডেভেলপমেন্ট বা ডিবাগিংয়ের জন্য । এই পৃষ্ঠায় পরে কখন এটি সুপারিশ করা হতে পারে সে সম্পর্কে আরও জানুন।
আপনার API কীগুলি খুঁজে বের করা
আপনি Google Cloud কনসোলের APIs & Services > Credentials প্যানেলে আপনার সমস্ত প্রকল্পের API কী দেখতে এবং পরিচালনা করতে পারবেন।
আপনি নিম্নলিখিত জায়গাগুলিতে কোন API কী স্বয়ংক্রিয়ভাবে Firebase অ্যাপের সাথে মিলে যায় তাও খুঁজে পেতে পারেন। ডিফল্টরূপে, একই প্ল্যাটফর্মের জন্য আপনার প্রকল্পের সমস্ত Firebase অ্যাপ (Apple vs Android vs Web) একই API কী ব্যবহার করবে।
Firebase Apple Apps — Firebase কনফিগারেশন ফাইল,
,GoogleService-Info.plist API_KEYক্ষেত্রে স্বয়ংক্রিয়ভাবে মিলিত API কীটি খুঁজুন।Firebase Android Apps — Firebase কনফিগারেশন ফাইল,
,google-services.json current_keyক্ষেত্রে স্বয়ংক্রিয়ভাবে মিলিত API কীটি খুঁজুন।ফায়ারবেস ওয়েব অ্যাপস — ফায়ারবেস কনফিগারেশন অবজেক্টে,
apiKeyক্ষেত্রে স্বয়ংক্রিয়ভাবে মিলিত API কীটি খুঁজুন।
একটি API কী ব্যবহার করা
Firebase বা Google পরিষেবার সাথে ইন্টারঅ্যাক্ট করার সময় Firebase-এর API কীগুলি আপনার Firebase প্রকল্প সনাক্ত করতে ব্যবহৃত হয়। বিশেষ করে, এগুলি আপনার প্রকল্পের সাথে কোটা এবং বিলিংয়ের জন্য API অনুরোধগুলি সংযুক্ত করতে ব্যবহৃত হয়। এগুলি পাবলিক ডেটা অ্যাক্সেস করার জন্যও কার্যকর।
বেশিরভাগ ডেভেলপার এবং ব্যবহারের ক্ষেত্রে, আপনি সরাসরি এই API কীগুলির সাথে ইন্টারঅ্যাক্ট করেন না। পরিবর্তে, যখন আপনার অ্যাপটি এমন একটি Firebase API-তে কল করে যার জন্য মোবাইল বা ওয়েব ক্লায়েন্ট দ্বারা সরবরাহিত একটি API কী প্রয়োজন হয়, তখন আপনার অ্যাপটি স্বয়ংক্রিয়ভাবে আপনার অ্যাপের Firebase কনফিগারেশনে একটি API কী খুঁজবে। আপনি যখন আপনার অ্যাপটি Firebase-এর সাথে সংযুক্ত করেছিলেন তখন এই কনফিগারেশনটি আপনার অ্যাপের কোডবেসে যোগ করা হয়েছিল।
মনে রাখবেন যে আপনি আপনার অ্যাপের API কী আপনার অ্যাপের মধ্যে একটি ভিন্ন প্রক্রিয়া ব্যবহার করে প্রদান করতে পারেন, যেমন Firebase বিকল্প বা পরিবেশ ভেরিয়েবল ব্যবহার করে।
এছাড়াও, Firebase পরিষেবার জন্য কিছু REST API-এর জন্য, আপনাকে API কী-এর মান স্পষ্টভাবে কলে একটি কোয়েরি প্যারামিটার হিসেবে পাস করতে হতে পারে। এই উদাহরণটি দেখায় কিভাবে আপনি Firebase Authentication API ব্যবহার করে একটি অনুরোধ করতে পারেন:
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=API_KEY
API কী পর্যালোচনা করুন এবং যথাযথ বিধিনিষেধ প্রয়োগ করুন (প্রস্তাবিত)
যদিও Firebase পরিষেবার জন্য API কীকে গোপন হিসেবে বিবেচনা করার প্রয়োজন নেই, তবুও আপনার এই বিভাগে বর্ণিত বিধিনিষেধ এবং সীমা পর্যালোচনা করা উচিত এবং প্রয়োগ করা উচিত।
আপনার Firebase API কীগুলির জন্য অ্যালাউলিস্টে স্বয়ংক্রিয়ভাবে যোগ হওয়া API গুলি পর্যালোচনা করুন।
যখন Firebase আপনার প্রোজেক্টে একটি API কী তৈরি করে, তখন আমরা স্বয়ংক্রিয়ভাবে সেই কীতে "API সীমাবদ্ধতা" যোগ করি। এই অ্যালাউলিস্টে যোগ করা APIগুলি হল Firebase-সম্পর্কিত API যার জন্য ক্লায়েন্টকে কলের সাথে একটি API কী প্রদান করতে হয়। মনে রাখবেন যে Firebase পরিষেবা ব্যবহারের জন্য প্রয়োজনীয় বেশিরভাগ API আসলে আপনার API কীগুলির অ্যালাউলিস্টে থাকা প্রয়োজন হয় না।
যেহেতু Firebase সকল Firebase পরিষেবার জন্য প্রয়োজনীয় API যোগ করে, তাই API কী-এর allowlist-এ আপনার ব্যবহার না করা পণ্যের API অন্তর্ভুক্ত থাকতে পারে। আপনি allowlist থেকে API গুলি সরাতে পারেন, তবে Firebase এবং আপনার ব্যবহৃত Firebase পরিষেবাগুলির জন্য প্রয়োজনীয় API গুলি সরাতে আপনাকে খুব সতর্ক থাকতে হবে (প্রতিটি পরিষেবা / পণ্যের জন্য allowlist-এ থাকা Firebase-সম্পর্কিত API গুলির তালিকা দেখুন)। অন্যথায়, Firebase পরিষেবাগুলিতে কল করার সময় আপনি ত্রুটি পাবেন।
পাসওয়ার্ড-ভিত্তিক Authentication ব্যবহার করলে কোটা শক্ত করুন
যদি আপনি পাসওয়ার্ড-ভিত্তিক Firebase Authentication ব্যবহার করেন এবং কেউ আপনার API কী ধরে ফেলে, তাহলে তারা আপনার Firebase প্রকল্পের কোনও ডাটাবেস বা Cloud Storage ডেটা অ্যাক্সেস করতে পারবে না যতক্ষণ না এই ডেটা Firebase Security Rules দ্বারা সুরক্ষিত থাকে । তবে, তারা Firebase এর প্রমাণীকরণ শেষ বিন্দু অ্যাক্সেস করতে এবং আপনার প্রকল্পের বিরুদ্ধে প্রমাণীকরণ অনুরোধ করতে আপনার API কী ব্যবহার করতে পারে।
কেউ যদি API কী ব্যবহার করে ব্রুট ফোর্স আক্রমণের চেষ্টা করতে পারে, তাহলে সেই সম্ভাবনা কমাতে, আপনি identitytoolkit.googleapis.com এন্ডপয়েন্টের ডিফল্ট কোটা আরও শক্ত করতে পারেন যাতে আপনার অ্যাপের স্বাভাবিক ট্র্যাফিক প্রত্যাশা প্রতিফলিত হয়। মনে রাখবেন যে যদি আপনি এই কোটা আরও শক্ত করেন এবং আপনার অ্যাপটি হঠাৎ ব্যবহারকারীদের সংখ্যা বাড়ায়, তাহলে কোটা না বাড়ানো পর্যন্ত আপনি সাইন-ইন ত্রুটি পেতে পারেন। আপনি Google Cloud Cloud কনসোলে আপনার প্রকল্পের API কোটা পরিবর্তন করতে পারেন।
যেকোনো নন-ফায়ারবেস পরিষেবার জন্য পৃথক, সীমাবদ্ধ API কী ব্যবহার করুন
যদিও Firebase পরিষেবার জন্য ব্যবহৃত API কীগুলিকে সাধারণত গোপন রাখার প্রয়োজন হয় না, তবুও অন্যান্য Google Cloud API-এর সাথে ব্যবহার করা API কীগুলির ক্ষেত্রে আপনার কিছু অতিরিক্ত সতর্কতা অবলম্বন করা উচিত।
যদি আপনি এমন কোনও Google Cloud API (যে কোনও প্ল্যাটফর্মে) ব্যবহার করেন যা Firebase পরিষেবা / পণ্যের জন্য নয়, তাহলে আমরা দৃঢ়ভাবে সেই API গুলির সাথে ব্যবহারের জন্য পৃথক, সীমাবদ্ধ API কী তৈরি করার পরামর্শ দিচ্ছি। এটি বিশেষভাবে গুরুত্বপূর্ণ যদি APIটি একটি বিলযোগ্য Google Cloud পরিষেবার জন্য হয়।
উদাহরণস্বরূপ, যদি আপনি iOS-এ Firebase ML এবং Cloud Vision API ব্যবহার করেন, তাহলে আপনার আলাদা API কী তৈরি করা উচিত যা আপনি শুধুমাত্র Cloud Vision API অ্যাক্সেস করার জন্য ব্যবহার করেন।
ফায়ারবেস-বহির্ভূত API-এর জন্য পৃথক, সীমাবদ্ধ API কী ব্যবহার করে, আপনি প্রয়োজনে কীগুলি ঘোরাতে বা প্রতিস্থাপন করতে পারেন এবং Firebase পরিষেবাগুলির ব্যবহার ব্যাহত না করে API কীগুলিতে অতিরিক্ত বিধিনিষেধ যোগ করতে পারেন ।
এই নির্দেশাবলী বর্ণনা করে কিভাবে Super Service API নামক একটি নকল API-এর জন্য একটি পৃথক, সীমাবদ্ধ API কী তৈরি করতে হয়।
ধাপ ১: Super Service API তে অ্যাক্সেস বন্ধ করতে আপনার বিদ্যমান এপিআই কীগুলি কনফিগার করুন।
Google Cloud কনসোলের ক্রেডেনশিয়াল পৃষ্ঠাটি খুলুন। অনুরোধ করা হলে, আপনার প্রকল্পটি নির্বাচন করুন।
তালিকার প্রতিটি বিদ্যমান API কী-এর জন্য, সম্পাদনা দৃশ্য খুলুন।
API বিধিনিষেধ বিভাগে, Restrict key নির্বাচন করুন, তারপর তালিকায় সেই সমস্ত API গুলি যোগ করুন যেখানে আপনি API কী অ্যাক্সেস করতে চান। নিশ্চিত করুন যে আপনি যে API এর জন্য একটি পৃথক API কী তৈরি করছেন তা অন্তর্ভুক্ত করবেন না (এই উদাহরণে,
Super Service API)।যখন আপনি একটি API কী-এর API সীমাবদ্ধতা কনফিগার করেন, তখন আপনি স্পষ্টভাবে সেই API গুলি ঘোষণা করেন যেখানে কী-এর অ্যাক্সেস আছে। ডিফল্টরূপে, যখন API সীমাবদ্ধতা বিভাগে "Don't restrict key" নির্বাচন করা থাকে, তখন প্রকল্পের জন্য সক্রিয় যেকোনো API অ্যাক্সেস করতে একটি API কী ব্যবহার করা যেতে পারে।
এখন, আপনার বিদ্যমান API কীগুলি Super Service API তে অ্যাক্সেস দেবে না, তবে প্রতিটি কী আপনার API সীমাবদ্ধতা তালিকায় যোগ করা যেকোনো API-এর জন্য কাজ করতে থাকবে।
ধাপ ২: Super Service API অ্যাক্সেসের জন্য একটি নতুন API কী তৈরি করুন এবং ব্যবহার করুন
শংসাপত্র পৃষ্ঠায় ফিরে যান। নিশ্চিত করুন যে আপনার Firebase প্রকল্পটি এখনও নির্বাচিত আছে।
Create credencials > API key এ ক্লিক করুন। নতুন API key টি নোট করে নিন, তারপর Restrict key এ ক্লিক করুন।
API সীমাবদ্ধতা বিভাগে, Restrict key নির্বাচন করুন, তারপর তালিকায় শুধুমাত্র
Super Service APIযোগ করুন।এই নতুন API কী শুধুমাত্র
Super Service APIতে অ্যাক্সেস দেয়।নতুন API কী ব্যবহার করার জন্য আপনার অ্যাপ এবং পরিষেবাগুলি কনফিগার করুন।
পরিবেশ-নির্দিষ্ট API কী ব্যবহার করুন (প্রস্তাবিত)
যদি আপনি বিভিন্ন পরিবেশের জন্য, যেমন স্টেজিং এবং প্রোডাকশনের জন্য বিভিন্ন Firebase প্রকল্প সেট আপ করেন, তাহলে প্রতিটি অ্যাপ ইনস্ট্যান্স তার সংশ্লিষ্ট Firebase প্রকল্পের সাথে ইন্টারঅ্যাক্ট করা গুরুত্বপূর্ণ। উদাহরণস্বরূপ, আপনার স্টেজিং অ্যাপ ইনস্ট্যান্সটি কখনই আপনার প্রোডাকশন Firebase প্রকল্পের সাথে কথা বলবে না। এর অর্থ হল আপনার স্টেজিং অ্যাপটিকে আপনার স্টেজিং Firebase প্রকল্পের সাথে সম্পর্কিত API কী ব্যবহার করতে হবে।
ডেভেলপমেন্ট থেকে স্টেজিং থেকে প্রোডাকশন পর্যন্ত কোড পরিবর্তনের ক্ষেত্রে সমস্যা কমাতে, কোডে API কী অন্তর্ভুক্ত করার পরিবর্তে, হয় সেগুলিকে পরিবেশ ভেরিয়েবল হিসাবে সেট করুন অথবা একটি কনফিগারেশন ফাইলে অন্তর্ভুক্ত করুন।
মনে রাখবেন, যদি আপনি Firebase ML সাথে ডেভেলপমেন্টের জন্য Firebase Local Emulator Suite ব্যবহার করেন, তাহলে আপনাকে অবশ্যই একটি debug-only API কী তৈরি করতে হবে এবং ব্যবহার করতে হবে। এই ধরণের কী তৈরি করার নির্দেশাবলী Firebase ML ডক্সে পাওয়া যাবে।
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী এবং সমস্যা সমাধান
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
হ্যাঁ, ডিফল্টরূপে, Firebase-সম্পর্কিত API-এর সাথে ব্যবহারের জন্য Firebase স্বয়ংক্রিয়ভাবে প্রবিধান করে এমন সমস্ত API কীগুলিতে স্বয়ংক্রিয়ভাবে "API বিধিনিষেধ" প্রয়োগ করা হয়। এই অ্যালোলিস্টে থাকা Firebase-সম্পর্কিত API-এর তালিকা দেখুন।
এই অ্যালাউলিস্টে যোগ করা API গুলি হল সেই API গুলি যা Firebase পরিষেবাগুলি ক্লায়েন্ট-কোড থেকে কল করে এবং আপনার Firebase প্রকল্প বা অ্যাপ সনাক্তকরণের জন্য API কীগুলির প্রয়োজন হয়। মনে রাখবেন যে Firebase পরিষেবা ব্যবহারের জন্য প্রয়োজনীয় বেশিরভাগ API গুলি আসলে আপনার API কীগুলির জন্য অ্যালাউলিস্টে থাকা প্রয়োজন হয় না।
যেহেতু Firebase সকল Firebase পরিষেবার জন্য প্রয়োজনীয় API যোগ করে, তাই API কী-এর allowlist-এ আপনার ব্যবহার না করা পণ্যের API অন্তর্ভুক্ত থাকতে পারে। আপনি allowlist থেকে API গুলি সরাতে পারেন, তবে Firebase এবং আপনার ব্যবহৃত Firebase পরিষেবাগুলির জন্য প্রয়োজনীয় API গুলি সরাতে আপনাকে খুব সতর্ক থাকতে হবে (প্রতিটি পরিষেবা / পণ্যের জন্য allowlist-এ থাকা Firebase-সম্পর্কিত API গুলির তালিকা দেখুন)। অন্যথায়, Firebase পরিষেবাগুলিতে কল করার সময় আপনি ত্রুটি পাবেন।
আপনি Google Cloud কনসোলের APIs & Services > Credentials প্যানেলে আপনার সমস্ত API কী এবং তাদের "API সীমাবদ্ধতা" দেখতে পারবেন।
Firebase কীভাবে এই "API বিধিনিষেধগুলি" প্রয়োগ করে সে সম্পর্কে নিম্নলিখিতগুলি লক্ষ্য করুন:
২০২৪ সালের মে মাস থেকে, Firebase দ্বারা স্বয়ংক্রিয়ভাবে প্রয়োগ করা সমস্ত নতুন API কী স্বয়ংক্রিয়ভাবে Firebase-সম্পর্কিত API-এর তালিকার মধ্যে সীমাবদ্ধ থাকবে।
২০২৪ সালের মে মাসে, Firebase পূর্বে স্বয়ংক্রিয়ভাবে প্রয়োগ করা সমস্ত বিদ্যমান এবং অবাধ API কীগুলি Firebase-সম্পর্কিত API-এর তালিকা এবং প্রকল্পের বর্তমানে সক্ষম API-এর যেকোনো একটিতে সীমাবদ্ধ থাকবে।
Firebase পূর্বে স্বয়ংক্রিয়ভাবে প্রবিধান করে রেখেছিল এমন কোনও বিদ্যমান এবং ইতিমধ্যেই সীমাবদ্ধ API কী পরিবর্তন করা হয়নি।
Firebase দ্বারা স্বয়ংক্রিয়ভাবে সরবরাহ করা হয়নি এমন কোনও বিদ্যমান API কী পরিবর্তন করা হয়নি।
আপনার Firebase অ্যাপের সাথে কোন API কী যুক্ত তা নির্ধারণ করতে আপনি নিম্নলিখিত যেকোনো বিকল্প ব্যবহার করতে পারেন:
Firebase কনসোল
প্রজেক্ট সেটিংস" এ যান, এবং তারপর "আপনার অ্যাপস" কার্ডে স্ক্রোল করুন।
আগ্রহের অ্যাপটি নির্বাচন করুন।
আগ্রহের অ্যাপটির জন্য Firebase কনফিগারেশন ফাইল/অবজেক্টটি পান, এবং তারপর এর API কীটি খুঁজুন:
অ্যাপল :
GoogleService-Info.plistডাউনলোড করুন, এবং তারপরAPI_KEYক্ষেত্রটি খুঁজুন।অ্যান্ড্রয়েড :
google-services.jsonডাউনলোড করুন, আগ্রহের অ্যাপটির কনফিগারেশনটি খুঁজুন (এর প্যাকেজের নামটি খুঁজুন), এবং তারপরcurrent_keyক্ষেত্রটি খুঁজুন।ওয়েব : কনফিগ বিকল্পটি নির্বাচন করুন, এবং তারপর
apiKeyক্ষেত্রটি খুঁজুন।
Firebase সিএলআই
নিম্নলিখিত কমান্ডটি চালিয়ে আগ্রহের অ্যাপের জন্য Firebase কনফিগারেশন ফাইল/অবজেক্টটি পান:
firebase apps:sdkconfig PLATFORM FIREBASE_APP_ID
- PLATFORM (এর মধ্যে একটি):
IOS|ANDROID|WEB - FIREBASE_APP_ID : আপনার Firebase অ্যাপের জন্য Firebase-নির্ধারিত অনন্য শনাক্তকারী ( আপনার অ্যাপ আইডি খুঁজুন )
- PLATFORM (এর মধ্যে একটি):
অ্যাপের মুদ্রিত Firebase কনফিগারেশনে, এর API কীটি খুঁজুন:
অ্যাপল :
API_KEYক্ষেত্রটি খুঁজুনঅ্যান্ড্রয়েড : আগ্রহের অ্যাপটির কনফিগারেশন খুঁজুন (এর প্যাকেজের নাম খুঁজুন), এবং তারপর
current_keyক্ষেত্রটি খুঁজুন।ওয়েব :
apiKeyক্ষেত্রটি খুঁজুন
REST API
আগ্রহের অ্যাপের জন্য প্রযোজ্য এন্ডপয়েন্টে কল করে API কী-এর
apiKeyId(UID) পান, এবং তারপর পরবর্তী ধাপেapiKeyIdমানটি পাস করুন।- অ্যাপল :
projects.iosApps.getএ কল করুন - অ্যান্ড্রয়েড :
projects.androidApps.getএ কল করুন - ওয়েব :
projects.webApps.getএ কল করুন
- অ্যাপল :
projects.locations.keys.getKeyStringকল করে API কী স্ট্রিংটি পান।এই
keyStringমান অ্যাপের কনফিগারেশন আর্টিফ্যাক্টে ( Apple | Android | Web ) একই রকম।
ফায়ারবেস অ্যাপল অ্যাপস — প্রতিটি অ্যাপের নিজস্ব কনফিগারেশন ফাইল থাকে এবং শুধুমাত্র একটি API কী তালিকাভুক্ত থাকতে পারে।
Firebase Android Apps — Firebase প্রকল্পের সমস্ত Android অ্যাপ একই কনফিগারেশন ফাইলে তালিকাভুক্ত থাকে এবং প্রতিটি অ্যাপে কেবল একটি API কী তালিকাভুক্ত থাকতে পারে। যদিও এই কনফিগারেশন ফাইলের প্রতিটি অ্যাপে আলাদা আলাদা কী তালিকাভুক্ত থাকতে পারে।
ফায়ারবেস ওয়েব অ্যাপস — প্রতিটি অ্যাপের নিজস্ব কনফিগারেশন অবজেক্ট থাকে এবং শুধুমাত্র একটি API কী তালিকাভুক্ত থাকতে পারে।
তবে, আপনি একটি অ্যাপের সাথে একাধিক API কী ব্যবহার করতে পারেন । আপনার অ্যাপের জন্য এই অন্যান্য API কীগুলি অ্যাক্সেস করার জন্য একটি প্রক্রিয়া সরবরাহ করতে হবে, যেমন একটি পরিবেশ ভেরিয়েবলের মাধ্যমে। অন্যান্য API কীগুলি অ্যাক্সেস করার প্রক্রিয়াটি কেবল আপনার Firebase কনফিগারেশন ফাইল/অবজেক্টে তালিকাভুক্ত API কীগুলির উপর নির্ভর করতে পারে না।
যখন আপনি প্রথমবার আপনার অ্যাপের Firebase কনফিগ ফাইল/অবজেক্ট পান , তখন Firebase পরীক্ষা করে যে আপনার প্রোজেক্টে এমন কোনও API কী আছে কিনা যার "অ্যাপ্লিকেশন সীমাবদ্ধতা" অ্যাপের সাথে মেলে (উদাহরণস্বরূপ, Apple অ্যাপের জন্য একটি ম্যাচিং বান্ডেল আইডি)।
যদি Firebase কোনও বিধিনিষেধযুক্ত কী খুঁজে না পায় যা মিলে যায়, তাহলে এটি কনফিগ ফাইল/অবজেক্টে Apple অ্যাপের জন্য iOS key , Android অ্যাপের জন্য Android key এবং ওয়েব অ্যাপের জন্য Browser key তালিকাভুক্ত করবে (ধরে নিচ্ছি যে এই কীগুলি বিদ্যমান এবং কোনও "অ্যাপ্লিকেশন বিধিনিষেধ" নেই যা এগুলিকে সেই অ্যাপের সাথে মেলাতে বাধা দেয়)।
হ্যাঁ, আপনি আপনার কনফিগ ফাইল/অবজেক্ট থেকে আপনার API কী ম্যানুয়ালি মুছে ফেলতে পারেন। তবে, আপনার অ্যাপের API কী অ্যাক্সেস করার জন্য আপনাকে অন্য কোনও প্রক্রিয়া প্রদান করতে হবে (যেমন একটি পরিবেশ ভেরিয়েবলের মাধ্যমে)। অন্যথায়, Firebase পরিষেবাগুলিতে যেকোনো কল ব্যর্থ হবে।
হ্যাঁ, আপনি একটি অ্যাপের সাথে একটি ভিন্ন API কী সংযুক্ত করতে একটি কনফিগ ফাইল/অবজেক্ট ম্যানুয়ালি সম্পাদনা করতে পারেন।
মনে রাখবেন যে আপনি যদি কনসোল থেকে আপনার অ্যাপের কনফিগ ফাইল/অবজেক্ট পুনরায় পান , তাহলে এটি সর্বদা সেই API কীগুলির তালিকা প্রদর্শন করবে যা Firebase স্বয়ংক্রিয়ভাবে সেই অ্যাপের সাথে মেলে । তাই, প্রয়োজন অনুসারে আপনাকে আপনার ম্যানুয়াল সম্পাদনাগুলি পুনরাবৃত্তি করতে হবে।
না, একটি API কী শুধুমাত্র একটি নির্দিষ্ট প্রকল্প সনাক্ত করে এবং অন্য প্রকল্পে স্থানান্তর করা যাবে না।
যদি আপনি কোনও অ্যাপের ব্যবহৃত API কী মুছে ফেলেন, তাহলে সেই অ্যাপ থেকে API কলগুলি ব্যর্থ হবে। আপনি এমন রিপোর্ট, ইমেল বা ত্রুটি পেতে পারেন যে আপনি এমন একটি API কী ব্যবহার করার চেষ্টা করছেন যা অবৈধ।
একটি API কী মুছে ফেলা স্থায়ী এবং পূর্বাবস্থায় ফেরানো যাবে না।
একটি Firebase API কী-এর জন্য, কেবলমাত্র সেই API গুলিই কী-এর "API সীমাবদ্ধতা" অ্যালাউলিস্টে থাকা প্রয়োজন যেখানে ক্লায়েন্টকে কলের সাথে একটি API কী প্রদান করতে হয়। মনে রাখবেন যে খুব কম Firebase-সম্পর্কিত API-তে এই প্রয়োজনীয়তা রয়েছে। আপনার প্রকল্পে সক্রিয় বেশিরভাগ Firebase-সম্পর্কিত API-গুলিকে কী-এর "API সীমাবদ্ধতা" অ্যালাউলিস্টে থাকা প্রয়োজন হয় না।
Firebase API কী-এর জন্য "API সীমাবদ্ধতা" অ্যালাউলিস্টে কোন Firebase-সম্পর্কিত API গুলি অন্তর্ভুক্ত করা প্রয়োজন তা নির্ধারণ করতে নিম্নলিখিত টেবিলটি ব্যবহার করুন। মনে রাখবেন, Firebase API কীগুলি শুধুমাত্র Firebase পরিষেবার জন্য ব্যবহার করা উচিত। নির্দিষ্ট ধরণের API-এর জন্য পৃথক, সীমাবদ্ধ API কী তৈরি করার বিষয়ে আরও জানুন।
আপনি Google Cloud কনসোলের APIs & Services > Credentials প্যানেলে আপনার প্রোজেক্টের API কীগুলি দেখতে এবং পরিচালনা করতে পারবেন।
| API নাম (পরিষেবার নাম) | API প্রদর্শনের নাম | অ্যাসোসিয়েটেড ফায়ারবেস পরিষেবা / পণ্য |
|---|---|---|
| firebase.googleapis.com সম্পর্কে | ফায়ারবেস ম্যানেজমেন্ট এপিআই | সকল পণ্য |
| লগিং.গুগল্যাপিস.কম | ক্লাউড লগিং এপিআই | সকল পণ্য |
| firebaseinstallations.googleapis.com সম্পর্কে | ফায়ারবেস ইনস্টলেশন API | Cloud Messaging , Crashlytics , In-App Messaging , Performance Monitoring , Remote Config , Firebase ML |
| firebaseappcheck.googleapis.com সম্পর্কে | ফায়ারবেস অ্যাপ চেক এপিআই | App Check |
| firebaseappdistribution.googleapis.com সম্পর্কে | ফায়ারবেস অ্যাপ ডিস্ট্রিবিউশন এপিআই | App Distribution |
| firebaseapptesters.googleapis.com সম্পর্কে | ফায়ারবেস অ্যাপ টেস্টার্স এপিআই | App Distribution |
| আইডেন্টিটিটুলকিট.গুগল্যাপিস.কম | আইডেন্টিটি টুলকিট API | Authentication |
| securetoken.googleapis.com সম্পর্কে | টোকেন পরিষেবা API | Authentication |
| firebaserules.googleapis.com * | ফায়ারবেস রুলস এপিআই | Cloud Firestore , Cloud Storage , Realtime Database |
| ডেটাস্টোর.গুগল্যাপিস.কম | ক্লাউড ডেটাস্টোর এপিআই | Cloud Firestore |
| firestore.googleapis.com সম্পর্কে | গুগল ক্লাউড ফায়ারস্টোর এপিআই | Cloud Firestore |
| fcmregistrations.googleapis.com সম্পর্কে | FCM নিবন্ধন API | Cloud Messaging |
| firebasestorage.googleapis.com সম্পর্কে | Firebase API-এর জন্য ক্লাউড স্টোরেজ | Cloud Storage |
| firebasedynamiclinks.googleapis.com সম্পর্কে | ফায়ারবেস ডায়নামিক লিংক এপিআই | Dynamic Links |
| firebasehosting.googleapis.com * | ফায়ারবেস হোস্টিং এপিআই | Hosting |
| firebaseinappmessaging.googleapis.com সম্পর্কে | ফায়ারবেস ইন-অ্যাপ মেসেজিং এপিআই | In-App Messaging |
| firebaseml.googleapis.com সম্পর্কে | ফায়ারবেস এমএল এপিআই | Firebase ML |
| ** | এমএল কিট এপিআই | Firebase ML |
| মোবাইলক্র্যাশরিপোর্টিং.গুগলএপিস.কম | মোবাইল ক্র্যাশ রিপোর্টিং API | Performance Monitoring |
| play.googleapis.com সম্পর্কে | গুগল প্লে অ্যান্ড্রয়েড ডেভেলপার এপিআই | Performance Monitoring |
| firebaseremoteconfig.googleapis.com সম্পর্কে | ফায়ারবেস রিমোট কনফিগ API | Performance Monitoring , Remote Config |
| firebaseremoteconfigrealtime.googleapis.com সম্পর্কে | ফায়ারবেস রিমোট কনফিগ রিয়েলটাইম এপিআই | Performance Monitoring , Remote Config |
| ** ক্লাউডকনফিগ.গুগলএপিস.কম | নিষিদ্ধ | Remote Config |
| firebasedatabase.googleapis.com * | ফায়ারবেস রিয়েলটাইম ডাটাবেস এপিআই | Realtime Database |
| firebasevertexai.googleapis.com সম্পর্কে | ফায়ারবেস এআই লজিক এপিআই | ফায়ারবেস এআই লজিক ক্লায়েন্ট এসডিকে |
| fpnv.googleapis.com সম্পর্কে | ফায়ারবেস ফোন নম্বর যাচাইকরণ API | Firebase Phone Number Verification |
* শুধুমাত্র তখনই প্রয়োজন যদি আপনি থার্ড-পার্টি টুল দিয়ে Firebase API কী ব্যবহার করেন অথবা Firebase পরিষেবা/পণ্যে সরাসরি REST অ্যাক্সেস পান।
** পণ্যের SDK-এর পূর্ববর্তী সংস্করণের জন্য প্রয়োজনীয়। আপনি যদি SDK-এর সর্বশেষ সংস্করণ ব্যবহার করেন, তাহলে API-কে কী-এর অ্যালাওলিস্টে থাকার প্রয়োজন নেই।
সমস্যা সমাধান
যদি আপনি API_KEY_SERVICE_BLOCKED ত্রুটি অথবা নিচের মতো দেখতে ত্রুটি পান, তাহলে এই FAQ-এর নির্দেশিকা অনুসরণ করুন:
Forbidden: 403 POST https://example-service.googleapis.com/method: Requests to this API example-service.googleapis.com method google.example-service.rest.method are blocked.
আপনার অ্যাপটি API কল করার জন্য যে API কী ব্যবহার করে, সম্ভবত তাতে "API বিধিনিষেধ" প্রয়োগ করা হয়েছে এবং কী-এর অ্যালাওলিস্টে সেই API অন্তর্ভুক্ত নেই।
যদি আপনি Firebase-সম্পর্কিত পরিষেবা/পণ্য ব্যবহার করার সময় এই ত্রুটিটি পান, তাহলে নিশ্চিত করুন যে আপনি যে API কীটি ব্যবহার করছেন তাতে সমস্ত প্রয়োজনীয় API গুলি কী-এর "API সীমাবদ্ধতা" allowlist-এ অন্তর্ভুক্ত আছে।
যদি আপনি একটি নন-ফায়ারবেস পরিষেবা ব্যবহার করার সময় এই ত্রুটিটি পান, তাহলে আমরা দৃঢ়ভাবে সেই পরিষেবা এবং API-এর জন্য বিশেষভাবে একটি নতুন API কী তৈরি করার পরামর্শ দিচ্ছি। Firebase API কীগুলি শুধুমাত্র Firebase পরিষেবা / পণ্যের জন্য ব্যবহার করা উচিত। নির্দিষ্ট ধরণের API-এর জন্য পৃথক, সীমাবদ্ধ API কী তৈরি সম্পর্কে আরও জানুন।
আপনার ওয়েব অ্যাপে ব্যবহৃত API কীটিতে সম্ভবত "API বিধিনিষেধ" প্রয়োগ করা হয়েছে। যদি তাই হয়, তাহলে নিশ্চিত করুন যে Firebase Management API অনুমোদিত API-এর তালিকায় রয়েছে।
অবৈধ API কীগুলির জন্য এখানে কয়েকটি সাধারণ কারণ রয়েছে:
API কীতে "API কী বিধিনিষেধ" প্রয়োগ করা হয়েছে যা এটিকে কী ("অ্যাপ্লিকেশন বিধিনিষেধ") ব্যবহার করার চেষ্টাকারী অ্যাপের সাথে তুলনা করা যায় না অথবা ("API বিধিনিষেধ") নামক API-এর জন্য অব্যবহারযোগ্য করে তোলে।
Google Cloud কনসোলের প্রকল্প থেকে API কীটি মুছে ফেলা হয়েছে।
অ্যাপের Firebase কনফিগ ফাইল/অবজেক্টে তালিকাভুক্ত প্রজেক্ট আইডির জন্য API কী তৈরি করা হয়নি।
এই সমস্যা সমাধানের একটি উপায় হল আপনার অ্যাপের Firebase config file/object এর আপডেটেড ভার্সনটি সংগ্রহ করা , তারপর আপনার পুরানো config file/object কে নতুন আপডেটেড ফাইল/object দিয়ে প্রতিস্থাপন করা । ডাউনলোডের জন্য একটি config ফাইল পাঠানোর আগে অথবা কনসোলে একটি config object প্রদর্শন করার আগে, Firebase পরীক্ষা করে দেখে যে তালিকাভুক্ত API কী(গুলি) app(গুলি) এর সাথে মেলে কিনা ।