আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
কী
Verify API Key নীতি আপনাকে রানটাইমে API কী যাচাইকরণ প্রয়োগ করতে দেয়, এর ফলে শুধুমাত্র অনুমোদিত API কী সহ অ্যাপই আপনার API অ্যাক্সেস করতে পারে। এই নীতি নিশ্চিত করে যে API কী বৈধ, প্রত্যাহার করা হয়নি এবং আপনার API প্রোডাক্টের সাথে যুক্ত নির্দিষ্ট রিসোর্স ব্যবহার করার জন্য অনুমোদিত।
নমুনা
কোয়েরি প্যারামিটারে কী
<VerifyAPIKey name="APIKeyVerifier">
<APIKey ref="request.queryparam.apikey" />
</VerifyAPIKey>এই উদাহরণে, নীতিটি
request.queryparam.apikey নামের ফ্লো ভেরিয়েবলে API কী খুঁজে পাওয়ার আশা করে। request.queryparam.{name}
ভেরিয়েবল হল একটি স্ট্যান্ডার্ড Edge ফ্লো ভেরিয়েবল যা ক্লায়েন্ট অনুরোধে পাস করা
কোয়েরি প্যারামের ভ্যালু দিয়ে পূরণ করা হয়।
নিম্নলিখিত curl কমান্ড কোয়েরি প্যারামে API কী পাস করে:
curl http://myorg-test.apigee.net/mocktarget?apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls
হেডারে কী
<VerifyAPIKey name="APIKeyVerifier">
<APIKey ref="request.header.x-apikey" />
</VerifyAPIKey>এই উদাহরণে, নীতিটি
request.header.x-apikey নামের ফ্লো ভেরিয়েবলে API কী খুঁজে পাওয়ার আশা করে। ভেরিয়েবল request.header.{name}
হল একটি স্ট্যান্ডার্ড Edge ফ্লো ভেরিয়েবল যা ক্লায়েন্ট অনুরোধে পাস করা
হেডারের ভ্যালু দিয়ে পূরণ করা হয়।
নিম্নলিখিত cURL থেকে কীভাবে হেডারে API কী পাস করতে হয় তা জানতে পারবেন:
curl "http://myorg-test.apigee.net/mocktarget" -H "x-apikey:IEYRtW2cb7A5Gs54A1wKElECBL65GVls"
ভেরিয়েবেলে কী
<VerifyAPIKey name="APIKeyVerifier">
<APIKey ref="requestAPIKey.key"/>
</VerifyAPIKey>নীতিতে এমন যেকোনও ভেরিয়েবল রেফারেন্স করা যেতে পারে যাতে কী রয়েছে। এই উদাহরণের নীতি requestAPIKey.key নামের একটি ভেরিয়েবল থেকে API কী এক্সট্র্যাক্ট করে।
কীভাবে সেই ভেরিয়েবল পূরণ করা হবে তা আপনার উপর নির্ভর করে। যেমন, আপনি Extract Variables নীতি ব্যবহার করে কোয়েরি প্যারামিটার থেকে requestAPIKey.key পূরণ করতে পারেন যার নাম myKey, নিচে দেখানো হয়েছে:
<ExtractVariables async="false" continueOnError="false" enabled="true" name="SetAPIKeyVar">
<Source>request</Source>
<QueryParam name="myKey">
<Pattern ignoreCase="true">{key}</Pattern>
</QueryParam>
<VariablePrefix>requestAPIKey</VariablePrefix>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</ExtractVariables>অ্যাক্সেস নীতি ফ্লো ভেরিয়েবল
<AssignMessage async="false" continueOnError="false" enabled="true" name="accessverifyvars"> <AssignVariable> <Name>devFirstName</Name> <Ref>verifyapikey.verify-api-key.developer.firstName</Ref> <Value>ErrorOnCopy</Value> </AssignVariable> <AssignVariable> <Name>devLastName</Name> <Ref>verifyapikey.verify-api-key.developer.lastName</Ref> <Value>ErrorOnCopy</Value> </AssignVariable> <AssignVariable> <Name>devEmail</Name> <Ref>verifyapikey.verify-api-key.developer.email</Ref> <Value>ErrorOnCopy</Value> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
সঠিক API কী-এর জন্য Verify API Key নীতি প্রয়োগ করার সময় Edge অটোমেটিক ফ্লো ভেরিয়েবলের একটি সেট পূরণ করে দেয়। আপনি এইসব ভেরিয়েবল ব্যবহার করে অ্যাপের নাম, অ্যাপ আইডি এবং যে ডেভেলপার বা কোম্পানি অ্যাপ রেজিস্টার করেছেন তার সম্পর্কে তথ্য অ্যাক্সেস করতে পারবেন। উপরের উদাহরণে, API কী যাচাই করার পরে আপনি ডেভেলপারদের প্রথম নাম, পদবি এবং ইমেল আইডি অ্যাক্সেস করতে Assign Message নীতি ব্যবহার করেন।
এইসব ভেরিয়েবলের আগে এগুলি লেখা থাকে:
verifyapikey.{policy_name}এই উদাহরণে, Verify API key নীতির নাম হল "verify-api-key"। তাই, আপনি
অনুরোধকারী ডেভেলপারের প্রথম নাম অ্যাক্সেস করে
ভেরিয়েবল verifyapikey.verify-api-key.developer.firstName. রেফারেন্স করেন
Edge সম্পর্কে জানুন
Verify API Key নীতি সম্পর্কে
কোনও ডেভেলপার Edge-এ অ্যাপ রেজিস্টার করলে, Edge অটোমেটিক একটি কনজিউমার কী ও সিক্রেট পেয়ার জেনারেট করে। আপনি Edge UI-তে অ্যাপের কনজিউমার কী ও সিক্রেট পেয়ার দেখতে পাবেন অথবা Edge API থেকে সেগুলি অ্যাক্সেস করতে পারবেন।
অ্যাপ রেজিস্ট্রেশনের সময়, ডেভেলপার অ্যাপের সাথে অ্যাসোসিয়েট করার জন্য এক বা একাধিক API প্রোডাক্ট বেছে নেন, যেখানে API প্রোডাক্ট হল রিসোর্স-এর একটি সংগ্রহ যা API প্রক্সির মাধ্যমে অ্যাক্সেস করা যায়। তারপরে, ডেভেলপার API কী (গ্রাহক কী) পাস করে। এটি অ্যাপের সাথে যুক্ত API প্রোডাক্টের API-তে পাঠানো প্রতিটি অনুরোধের অংশ হিসেবে পাস করা হয়। আরও জানতে প্রকাশনার ওভারভিউ দেখুন।
API কী যাচাইকরণ টোকেন হিসেবে ব্যবহার করা যেতে পারে অথবা OAuth অ্যাক্সেস টোকেন পেতে ব্যবহার করা যেতে পারে। OAuth-এ, API কী-কে "ক্লায়েন্ট আইডি" বলা হয়। এইসব নাম একে অপরের পরিবর্তে ব্যবহার করা যেতে পারে। আরও জানতে OAuth হোম দেখুন।
Verify API Key নীতি প্রয়োগ করার সময় Edge অটোমেটিক ফ্লো ভেরিয়েবলের একটি সেট পপুলেট করে। আরও জানতে, নিচে ফ্লো ভেরিয়েবল দেখুন।
এলিমেন্ট রেফারেন্স
এই নীতিতে আপনি যেসব এলিমেন্ট ও অ্যাট্রিবিউট কনফিগার করতে পারবেন সেগুলি নিচে উল্লেখ করা হল:
<VerifyAPIKey async="false" continueOnError="false" enabled="true" name="Verify-API-Key-1"> <DisplayName>Custom label used in UI</DisplayName> <APIKey ref="variable_containing_api_key"/> </VerifyAPIKey>
<VerifyAPIKey> অ্যাট্রিবিউট
নিচে দেওয়া উদাহরণে <VerifyAPIKey> ট্যাগের অ্যাট্রিবিউট দেখানো হয়েছে:
<VerifyAPIKey async="false" continueOnError="false" enabled="true" name="Verify-API-Key-1">
নিম্নলিখিত সারণী সমস্ত নীতির মূল উপাদানগুলির জন্য সাধারণ বৈশিষ্ট্যগুলি বর্ণনা করে:
| বৈশিষ্ট্য | বর্ণনা | ডিফল্ট | উপস্থিতি |
|---|---|---|---|
name | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে | N/A | প্রয়োজন |
continueOnError | একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে | মিথ্যা | ঐচ্ছিক |
enabled | নীতি প্রয়োগ করতে নীতি বন্ধ করতে | সত্য | ঐচ্ছিক |
async | এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ | মিথ্যা | অবচয় |
<DisplayName> উপাদান
ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে name বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।
<DisplayName>Policy Display Name</DisplayName>
| ডিফল্ট | N/A আপনি এই উপাদানটি বাদ দিলে, নীতির |
|---|---|
| উপস্থিতি | ঐচ্ছিক |
| টাইপ | স্ট্রিং |
<APIKey> এলিমেন্ট
এই এলিমেন্ট ফ্লো ভেরিয়েবল নির্দিষ্ট করে যাতে API কী থাকে। সাধারণত, ক্লায়েন্ট কোয়েরি প্যারামিটার, HTTP হেডার বা ফর্ম প্যারামিটারে API কী
পাঠায়। যেমন, কীটি যদি x-apikey নামের একটি হেডারে পাঠানো হয়, তাহলে কীটি এই ভেরিয়েবলে পাওয়া যাবে: request.header.x-apikey
| ডিফল্ট | প্রযোজ্য নয় |
|---|---|
| উপস্থিতি | প্রয়োজনীয় |
| ধরন | স্ট্রিং |
অ্যাট্রিবিউট
নিচের সারণীতে <APIKey> এলিমেন্টের অ্যাট্রিবিউট বর্ণনা করা হয়েছে
| অ্যাট্রিবিউট | বিবরণ | ডিফল্ট | উপস্থিতি |
|---|---|---|---|
| ref |
API কী থাকা ভেরিয়েবলের রেফারেন্স। প্রতিটি নীতির জন্য শুধুমাত্র একটি লোকেশন অনুমোদিত। |
প্রযোজ্য নয় | প্রয়োজনীয় |
উদাহরণ
এইসব উদাহরণে, প্যারামিটার ও x-apikey নামের হেডার হিসেবে কী পাস করা হয়।
কোয়েরি প্যারামিটার হিসেবে:
<VerifyAPIKey name="APIKeyVerifier">
<APIKey ref="request.queryparam.x-apikey"/>
</VerifyAPIKey>HTTP হেডার হিসেবে:
<VerifyAPIKey name="APIKeyVerifier">
<APIKey ref="request.header.x-apikey"/>
</VerifyAPIKey>HTTP ফর্ম প্যারামিটার হিসেবে:
<VerifyAPIKey name="APIKeyVerifier">
<APIKey ref="request.formparam.x-apikey"/>
</VerifyAPIKey>স্কিমা
ফ্লো ভেরিয়েবল
কোনও বৈধ API কী-তে 'API কী যাচাই করুন' নীতি প্রয়োগ করা হলে, Edge ফ্লো ভেরিয়েবলের একটি সেট পূরণ করে। এইসব ভেরিয়েবল ফ্লোতে পরে এক্সিকিউট করা নীতি বা কোডের জন্য উপলভ্য এবং এগুলি API কীয়ের অ্যাট্রিবিউট, যেমন অ্যাপের নাম, কী অনুমোদন করার জন্য ব্যবহৃত API প্রোডাক্ট বা API কীয়ের কাস্টম অ্যাট্রিবিউটের উপর ভিত্তি করে কাস্টম প্রসেসিং পারফর্ম করতে প্রায়ই ব্যবহার করা হয়।
নীতিটি বিভিন্ন ধরনের ফ্লো ভেরিয়েবল পূরণ করে, যার মধ্যে এগুলি অন্তর্ভুক্ত:
- সাধারণ
- অ্যাপ
- ডেভেলপার
- কোম্পানি
- Analytics
প্রতিটি ধরনের ফ্লো ভেরিয়েবলের আলাদা আলাদা প্রিফিক্স থাকে। অ্যারে হিসেবে বিশেষভাবে উল্লেখ করা ভেরিয়েবলগুলি ছাড়া বাকি সব ভেরিয়েবল হল স্কেলার।
সাধারণ ফ্লো ভেরিয়েবেল
নিচের সারণীতে Verify API Key নীতি দ্বারা পূরণ করা সাধারণ ফ্লো ভেরিয়েবল তালিকাভুক্ত করা হয়েছে। এইসব ভেরিয়েবলের আগে এগুলি লেখা থাকে:
verifyapikey.{policy_name}যেমন: verifyapikey.{policy_name}.client_id
উপলভ্য ভেরিয়েবলের মধ্যে এগুলি অন্তর্ভুক্ত:
| ভেরিয়েবেল | বিবরণ |
|---|---|
client_id |
অনুরোধকারী অ্যাপের দেওয়া কনজিউমার কী (API key বা অ্যাপ কী নামেও পরিচিত)। |
client_secret |
কনজিউমার কী-এর সাথে যুক্ত কনজিউমার সিক্রেট। |
redirection_uris |
অনুরোধে থাকা যেকোনও রিডাইরেক্ট URI. |
developer.app.id |
অনুরোধকারী ডেভেলপার অ্যাপের আইডি। |
developer.app.name |
অনুরোধকারী ডেভেলপার অ্যাপের নাম। |
developer.id |
অনুরোধকারী অ্যাপের মালিক হিসেবে রেজিস্টার করা ডেভেলপারের আইডি। |
developer.{custom_attrib_name} |
অ্যাপ কী প্রোফাইল থেকে প্রাপ্ত যেকোনও কাস্টম অ্যাট্রিবিউট |
DisplayName |
নীতির <DisplayName> অ্যাট্রিবিউটের ভ্যালু। |
failed |
API কী যাচাইকরণ ব্যর্থ হলে "true" হিসেবে সেট করা হয়। |
{custom_app_attrib} |
অ্যাপ প্রোফাইল থেকে পাওয়া যেকোনও কাস্টম অ্যাট্রিবিউট। কাস্টম অ্যাট্রিবিউটের নাম উল্লেখ করুন। |
apiproduct.name* |
অনুরোধ যাচাই করার জন্য ব্যবহৃত API প্রোডাক্টের নাম। |
apiproduct.{custom_attrib_name}* |
API প্রোডাক্ট প্রোফাইল থেকে প্রাপ্ত যেকোনও কাস্টম অ্যাট্রিবিউট। |
apiproduct.developer.quota.limit* |
API প্রোডাক্টে সেট করা কোটার সীমা, যদি থাকে। |
apiproduct.developer.quota.interval* |
API প্রোডাক্টে সেট করা কোটা ইন্টারভ্যাল, যদি থাকে। |
apiproduct.developer.quota.timeunit* |
API প্রোডাক্টে কোটা টাইম ইউনিট সেট করা থাকলে সেটি। |
* API প্রোডাক্ট ভেরিয়েবল অটোমেটিক পূরণ হয়ে যায় যদি API প্রোডাক্টগুলি
বৈধ এনভায়রনমেন্ট, প্রক্সি ও রিসোর্স (proxy.pathsuffix থেকে প্রাপ্ত) দিয়ে কনফিগার করা থাকে।
API প্রোডাক্ট সেট-আপ করার নির্দেশাবলীর জন্য, API প্রকাশ করার জন্য Edge
ম্যানেজমেন্ট API ব্যবহার করা দেখুন। |
|
অ্যাপ ফ্লো ভেরিয়েবল
অ্যাপ সম্পর্কে তথ্য থাকা নিম্নলিখিত ফ্লো ভেরিয়েবল নীতি দ্বারা পপুলেট করা হয়। এইসব ভেরিয়েবলের আগে এগুলি লেখা থাকে:
verifyapikey.{policy_name}.app।
যেমন:
verifyapikey.{policy_name}.app.name
উপলভ্য ভেরিয়েবলের মধ্যে এগুলি অন্তর্ভুক্ত:
| ভেরিয়েবেল | বিবরণ |
|---|---|
name |
অ্যাপটির নাম। |
id |
অ্যাপের আইডি। |
accessType |
Apigee ব্যবহার করে না। |
callbackUrl |
অ্যাপের কলব্যাক URL. সাধারণত শুধুমাত্র OAuth-এর জন্য ব্যবহার করা হয়। |
DisplayName |
অ্যাপের ডিসপ্লে নাম। |
status |
অ্যাপের স্ট্যাটাস, যেমন 'অনুমোদিত' বা 'প্রত্যাহার করা হয়েছে'। |
apiproducts |
অ্যাপের সাথে যুক্ত API প্রোডাক্টের তালিকা সহ একটি অ্যারে। |
appFamily |
অ্যাপ আছে এমন যেকোনও অ্যাপ ফ্যামিলি অথবা "ডিফল্ট"। |
appParentStatus |
অ্যাপের পেরেন্টের স্ট্যাটাস, যেমন 'অ্যাক্টিভ' বা 'ইনঅ্যাক্টিভ' |
appType |
অ্যাপের ধরন, যেমন "কোম্পানি" বা "ডেভেলপার"। |
appParentId |
মূল অ্যাপের আইডি। |
created_at |
অ্যাপ তৈরি করার তারিখ/টাইম স্ট্যাম্প। |
created_by |
যে ডেভেলপার অ্যাপ তৈরি করেছেন তার ইমেল আইডি। |
last_modified_at |
অ্যাপ শেষবার আপডেট করার তারিখ/টাইম স্ট্যাম্প। |
last_modified_by |
যে ডেভেলপার শেষবার অ্যাপ আপডেট করেছেন তার ইমেল আইডি। |
{app_custom_attributes} |
যেকোনও কাস্টম অ্যাপ অ্যাট্রিবিউট। কাস্টম অ্যাট্রিবিউটের নাম উল্লেখ করুন। |
ডেভেলপার ফ্লো ভেরিয়েবল
ডেভেলপার সম্পর্কে তথ্য সহ নিম্নলিখিত ফ্লো ভেরিয়েবলগুলি নীতি দ্বারা পপুলেট করা হয়। এইসব ভেরিয়েবলের আগে এগুলি লেখা থাকে:
verifyapikey.{policy_name}.developerযেমন:
verifyapikey.{policy_name}.developer.id
উপলভ্য ভেরিয়েবলের মধ্যে এগুলি অন্তর্ভুক্ত:
| ভেরিয়েবেল | বিবরণ |
|---|---|
id |
{org_name}@@@{developer_id} রিটার্ন করে |
userName |
ডেভেলপারের ইউজারনেম। |
firstName |
ডেভেলপারের নাম। |
lastName |
ডেভেলপারের পদবি। |
email |
ডেভেলপারের ইমেল আইডি। |
status |
ডেভেলপারের স্ট্যাটাস, যেমন, অ্যাক্টিভ, ইনঅ্যাক্টিভ বা login_lock. |
apps |
ডেভেলপারের সাথে যুক্ত অ্যাপের অ্যারে। |
created_at |
ডেভেলপার তৈরি হওয়ার তারিখ/টাইমস্ট্যাম্প। |
created_by |
যে ব্যবহারকারী ডেভেলপার তৈরি করেছেন তার ইমেল আইডি। |
last_modified_at |
ডেভেলপার শেষবার পরিবর্তন করার তারিখ/টাইম স্ট্যাম্প। |
last_modified_by |
যে ব্যবহারকারী ডেভেলপার পরিবর্তন করেছেন তার ইমেল আইডি। |
{developer_custom_attributes} |
যেকোনও কাস্টম ডেভেলপার অ্যাট্রিবিউট। কাস্টম অ্যাট্রিবিউটের নাম উল্লেখ করুন। |
Company |
ডেভেলপারের সাথে যুক্ত কোনও কোম্পানির নাম থাকলে সেটি। |
কোম্পানির ফ্লো ভেরিয়েবল
নিচে উল্লেখ করা ফ্লো ভেরিয়েবল, যাতে কোম্পানির তথ্য থাকে, তা নীতি দ্বারা পপুলেট করা হয়। এইসব ভেরিয়েবলের আগে এগুলি লেখা থাকে:
verifyapikey.{policy_name}.companyযেমন:
verifyapikey.{policy_name}.company.nameউপলভ্য ভেরিয়েবলের মধ্যে এগুলি অন্তর্ভুক্ত:
| ভেরিয়েবেল | বিবরণ |
|---|---|
name |
কোম্পানির নাম। |
displayName |
কোম্পানির ডিসপ্লে নাম। |
id |
কোম্পানির আইডি। |
apps |
কোম্পানির অ্যাপের তালিকা সহ একটি অ্যারে। |
appOwnerStatus |
অ্যাপ মালিকের স্ট্যাটাস, যেমন অ্যাক্টিভ, ইনঅ্যাক্টিভ বা login_lock.
|
created_at |
কোম্পানি তৈরির তারিখ/টাইম স্ট্যাম্প। |
created_by |
যে ব্যবহারকারী কোম্পানি তৈরি করেছেন তার ইমেল আইডি। |
last_modified_at |
কোম্পানি শেষবার পরিবর্তন করার তারিখ/টাইম স্ট্যাম্প। |
last_modified_by |
যে ব্যবহারকারী শেষবার কোম্পানির তথ্য পরিবর্তন করেছেন তার ইমেল আইডি। |
{company_custom_attributes} |
যেকোনও কাস্টম কোম্পানির অ্যাট্রিবিউট। কাস্টম অ্যাট্রিবিউটের নাম উল্লেখ করুন। |
Analytics ভেরিয়েবল
কোনও বৈধ API কী-এর জন্য Verify API Key নীতি এনফোর্স করা হলে, Analytics-এ নিম্নলিখিত ভেরিয়েবল অটোমেটিক পূরণ হয়ে যায়। এইসব ভেরিয়েবল শুধুমাত্র Verify API Key নীতি এবং OAuth নীতি দ্বারা পপুলেট করা হয়।
ডেভেলপার ও অ্যাপের মাধ্যমে কন্টেন্ট ব্যবহারের প্যাটার্ন সম্পর্কে দৃশ্যমানতা পেতে, ভেরিয়েবল ও ভ্যালুগুলিকে অ্যানালিটিক্স রিপোর্ট তৈরির জন্য ডাইমেনশন হিসেবে ব্যবহার করা যেতে পারে।
- apiproduct.name
- developer.app.name
- client_id
- developer.id
সমস্যার রেফারেন্স
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ |
|---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | আপনি যে API কী ব্যবহার করছেন, সেটি যে ডেভেলপার অ্যাপের সাথে যুক্ত কোম্পানির স্ট্যাটাস ইনঅ্যাক্টিভ। কোনও কোম্পানির স্ট্যাটাস 'ইনঅ্যাক্টিভ' হিসেবে সেট করা হলে, আপনি সেই কোম্পানির সাথে যুক্ত ডেভেলপার বা অ্যাপ অ্যাক্সেস করতে পারবেন না। ম্যানেজমেন্ট API ব্যবহার করে কোনও সংস্থার স্ট্যাটাস পরিবর্তন করতে পারেন। কোনও কোম্পানির স্ট্যাটাস সেট করা দেখুন। |
keymanagement.service.DeveloperStatusNotActive |
401 |
আপনি যে API কী ব্যবহার করছেন সেটি যে ডেভেলপার অ্যাপে আছে, সেই অ্যাপের ডেভেলপার অ্যাক্টিভ নেই। কোনও অ্যাপ ডেভেলপারের স্ট্যাটাস 'অ্যাক্টিভ নেই' হিসেবে সেট করা হলে, সেই ডেভেলপারের তৈরি করা যেকোনও ডেভেলপার অ্যাপ ডিঅ্যাক্টিভেট হয়ে যায়। উপযুক্ত অনুমতি সহ অ্যাডমিন ব্যবহারকারী (যেমন, প্রতিষ্ঠানের অ্যাডমিনিস্ট্রেটর) নিম্নলিখিত উপায়ে কোনও ডেভেলপারের স্ট্যাটাস পরিবর্তন করতে পারেন:
|
keymanagement.service.invalid_client-app_not_approved |
401 | API key-এর সাথে যুক্ত ডেভেলপার অ্যাপের অ্যাক্সেস প্রত্যাহার করা হয়েছে। প্রত্যাহার করা অ্যাপ কোনও API প্রোডাক্ট অ্যাক্সেস করতে এবং Apigee Edge ম্যানেজ করে এমন কোনও API ইনভোক করতে পারে না। কোনও সংস্থার অ্যাডমিন ম্যানেজমেন্ট API ব্যবহার করে ডেভেলপার অ্যাপের স্ট্যাটাস পরিবর্তন করতে পারেন। ডেভেলপার অ্যাপ অনুমোদন বা প্রত্যাহার করা দেখুন। |
oauth.v2.FailedToResolveAPIKey |
401 | নীতিটি এমন একটি ভেরিয়েবলে API কী খুঁজে পাওয়ার আশা করে যা নীতির <APIKey> এলিমেন্টে উল্লেখ করা আছে। প্রত্যাশিত ভেরিয়েবেল না থাকলে (এটি সমাধান করা যায় না) এই সমস্যা হয়। |
oauth.v2.InvalidApiKey |
401 | Edge-এর কাছে একটি API কী এসেছে, কিন্তু সেটি সঠিক নয়। Edge তার ডেটাবেসে কীটি খোঁজার সময়, অনুরোধে পাঠানো কীটির সাথে সেটি হুবহু মিলতে হবে। API আগে কাজ করে থাকলে ভাল করে দেখে নিন যে কী আবার তৈরি করা হয়নি। কী আবার তৈরি করা হলে, আপনি পুরনো কী ব্যবহার করার চেষ্টা করলে এই সমস্যা দেখতে পাবেন। আরও তথ্যের জন্য, অ্যাপ রেজিস্টার করুন এবং API কী ম্যানেজ করুন দেখুন। |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Edge-এর কাছে একটি API কী এসেছে এবং সেটি বৈধ; তবে, এটি কোনও প্রোডাক্টের মাধ্যমে আপনার API প্রক্সির সাথে যুক্ত ডেভেলপার অ্যাপে অনুমোদিত কী-এর সাথে মেলে না। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ |
|---|---|
SpecifyValueOrRefApiKey |
<APIKey> এলিমেন্টে কোনও মান বা কী নির্দিষ্ট করা নেই। |
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.VK-VerifyAPIKey.failed = true |
সমস্যার উত্তরের উদাহরণ
{
"fault":{
"faultstring":"Invalid ApiKey",
"detail":{
"errorcode":"oauth.v2.InvalidApiKey"
}
}
}{
"fault":{
"detail":{
"errorcode":"keymanagement.service.DeveloperStatusNotActive"
},
"faultstring":"Developer Status is not Active"
}
}ভুল নিয়মের উদাহরণ
<FaultRule name="FailedToResolveAPIKey">
<Step>
<Name>AM-FailedToResolveAPIKey</Name>
</Step>
<Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition>
</FaultRule>