انتشار میاناهای برنامه‌سازی کاربردی بااستفاده از Edge API

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

این بخش نحوه استفاده از Edge API را برای ایجاد محصولات API برای انتشار در درگاه‌های توسعه‌دهندگان شرح می‌دهد.

ایجاد محصولات API بااستفاده از API

محصولات API به توسعه‌دهندگان امکان می‌دهد برنامه‌هایی را که از API بااستفاده از کلیدهای API و کدهای دسترسی OAuth استفاده می‌کنند ثبت کنند. محصولات API به‌گونه‌ای طراحی شده‌اند که به شما امکان می‌دهند منابع API را «بسته‌بندی» کنید و سپس آن بسته‌ها را برای گروه‌های مختلف توسعه‌دهندگان منتشر کنید. برای مثال، ممکن است لازم باشد یک مجموعه از منابع میانای برنامه‌سازی کاربردی را برای توسعه‌دهندگان شریکتان منتشر کنید، درحالی‌که بسته دیگری را برای توسعه‌دهندگان خارجی منتشر می‌کنید. محصولات API به شما امکان می‌دهند این دسته‌بندی را در لحظه انجام دهید، بدون اینکه نیاز به هیچ تغییری در خود APIهایتان داشته باشید. مزیت اضافی این است که دسترسی توسعه‌دهنده را می‌توان بدون نیاز به دریافت کلیدهای مصرف‌کننده جدید برای برنامه‌ها توسط توسعه‌دهندگان، «ارتقا» و «تنزل» داد.

برای ایجاد محصول API بااستفاده از API، درخواست POST را به /organizations/{org_name}/apiproducts صادر کنید. برای اطلاعات بیشتر، مرجع ایجاد محصول API را ببینید.

درخواست زیر محصول API به‌نام weather_free را ایجاد می‌کند. محصول API دسترسی به همه میاناهای برنامه‌سازی کاربردی نمایان‌شده توسط پراکسی API به‌نام weatherapi را که در محیط test مستقر شده است فراهم می‌کند. نوع تأیید روی auto تنظیم شده است که نشان می‌دهد هرگونه درخواست دسترسی تأیید خواهد شد.

curl -X POST https://api.enterprise.apigee.com/v1/organization/myorg/apiproducts \
-H "Content-Type:application/json" \
-d \
'{
  "approvalType": "auto",
  "displayName": "Free API Product",
  "name": "weather_free",
  "proxies": [ "weatherapi" ],
  "environments": [ "test" ]
}' \
-u email:password 

پاسخ نمونه:

{
  "apiResources" : [ ],
  "approvalType" : "auto",
  "attributes" : [ ],
  "createdAt" : 1362759663145,
  "createdBy" : "developer@apigee.com",
  "displayName" : "Free API Product",
  "environments" : [ "test" ],
  "lastModifiedAt" : 1362759663145,
  "lastModifiedBy" : "developer@apigee.com",
  "name" : "weather_free",
  "proxies" : [ "weatherapi" ],
  "scopes" : [ ]
}

محصول API ایجادشده در بالا ساده‌ترین سناریو را پیاده‌سازی می‌کند و درخواست‌ها را برای یک کارگزار API در یک محیط مجاز می‌کند. این محصول API را تعریف می‌کند که به برنامه مجاز امکان می‌دهد به همه منابع API که ازطریق کارگزار API درحال اجرا در محیط آزمایش دسترسی دارند دسترسی پیدا کند. محصولات میانای برنامه‌سازی کاربردی تنظیمات پیکربندی اضافه‌ای را آشکار می‌کنند که به شما امکان می‌دهد کنترل دسترسی به میاناهای برنامه‌سازی کاربردی‌تان را برای گروه‌های توسعه‌دهنده مختلف سفارشی‌سازی کنید. برای مثال، می‌توانید دو محصول API ایجاد کنید که دسترسی به کارگزاران API مختلف را فراهم می‌کنند. همچنین می‌توانید دو محصول میانای برنامه‌سازی کاربردی ایجاد کنید که دسترسی به همان کارگزاران میانای برنامه‌سازی کاربردی را فراهم می‌کنند، اما با تنظیمات سهمیه مرتبط متفاوت.

تنظیمات پیکربندی محصول میانای برنامه‌سازی کاربردی

محصولات «میانای برنامه‌سازی کاربردی» گزینه‌های پیکربندی زیر را آشکار می‌کنند:

نام شرح پیش‌فرض الزامی است؟
apiResources

فهرستی از شناسه‌های یکنواخت منبع (URI) یا مسیرهای منبع که با ویرگول ازهم جدا شده‌اند و در محصول API «دسته‌بندی» شده‌اند.

به‌طور پیش‌فرض، مسیرهای منبع از متغیر proxy.pathsuffix نگاشت می‌شوند. پسوند مسیر پراکسی به‌عنوان بخش URI پس‌از مسیر پایه ProxyEndpoint تعریف می‌شود. برای مثال، در محصول نمونه «میانای برنامه‌سازی کاربردی» زیر، عنصر apiResources به‌عنوان /forecastrss تعریف شده است. ازآنجایی‌که «مسیر پایه» تعریف‌شده برای این پراکسی API /weather است، این یعنی این محصول API فقط درخواست‌های /weather/forecastrss را مجاز می‌کند.

می‌توانید مسیر خاصی را انتخاب کنید یا می‌توانید همه زیرمسیرها را با یک نویسه عام انتخاب کنید. از نویسه‌های عام (/** و /*) پشتیبانی می‌شود. کارت عام دوتایی نشان می‌دهد که همه زیرنشانی‌ها گنجانده شده‌اند. یک ستاره تکی نشان می‌دهد که فقط نشانی‌های وب یک سطح پایین‌تر دربرگرفته شده‌اند.

به‌طور پیش‌فرض، '/' از همان منابعی که '/**' پشتیبانی می‌کند و همچنین از «مسیر پایه» تعریف‌شده توسط پراکسی API پشتیبانی می‌کند. برای مثال، اگر «مسیر پایه» کارگزار میانای برنامه‌سازی کاربردی /v1/weatherapikey باشد، آنگاه محصول میانای برنامه‌سازی کاربردی از درخواست‌های /v1/weatherapikey و هر نشانی وب فرعی، مثل /v1/weatherapikey/forecastrss، /v1/weatherapikey/region/CA، و غیره پشتیبانی می‌کند. برای کسب اطلاعات درباره تغییر رفتار این پیش‌فرض، مدیریت محصولات میانای برنامه‌سازی کاربردی را ببینید.

موجود نیست نه
approvalType مشخص می‌کند کلیدهای میانای API چگونه برای دسترسی به میاناهای برنامه‌سازی کاربردی تعریف‌شده توسط محصول میانای برنامه‌سازی کاربردی تأیید می‌شوند. اگر روی manual تنظیم شود، کلیدی که برای برنامه تولید می‌شود در وضعیت «معلقه» قرار می‌گیرد. چنین کلیدهایی تا زمانی که به‌طور صریح تأیید نشده باشند کار نخواهند کرد. اگر روی auto تنظیم شود، همه کلیدها در حالت «تأییدشده» تولید می‌شوند و بلافاصله کار می‌کنند. (auto معمولاً برای ارائه دسترسی به محصولات رایگان/آزمایشی میانای برنامه‌سازی کاربردی استفاده می‌شود که سهمیه یا قابلیت‌های محدودی ارائه می‌دهند.) موجود نیست بله
attributes

آرایه‌ای از مشخصه‌ها که ممکن است برای گسترش نمایه محصول پیش‌فرض «میانای برنامه‌سازی کاربردی» با فراداده‌های ویژه مشتری استفاده شود.

از این دارایی برای مشخص کردن سطح دسترسی محصول API به‌عنوان عمومی، خصوصی، یا داخلی استفاده کنید. برای مثال:
«attributes»: [
{
"name": "access",
"value": "public"
},
{
"name": "foo",
"value": "foo"
},
{
"name": "bar",
"value": "bar"
}
]
موجود نیست نه
scopes فهرستی از محدوده‌های OAuth که با کاما از هم جدا شده‌اند و در زمان اجرا اعتبارسنجی می‌شوند. (Apigee Edge تأیید می‌کند که دامنه‌های موجود در هر کد دسترسی ارائه‌شده با دامنه تنظیم‌شده در محصول میانای برنامه‌سازی کاربردی مطابقت دارد.) موجود نیست نه
proxies پراکسی‌های میانای برنامه‌سازی کاربردی نام‌گذاری‌شده‌ای که این محصول API به آن‌ها محدود شده است. با مشخص کردن پراکسی‌ها، می‌توانید منابع موجود در محصول API را با پراکسی‌های API خاصی مرتبط کنید و از دسترسی توسعه‌دهندگان به آن منابع ازطریق پراکسی‌های API دیگر جلوگیری کنید. موجود نیست نه. اگر تعریف نشده باشد، apiResources باید به‌طور صریح تعریف شود (اطلاعات مربوط به apiResources در بالا را ببینید)، و متغیر flow.resource.name در خط‌مشی AssignMessage تنظیم شود.
environments محیط‌های نام‌گذاری‌شده (برای مثال «test» یا «prod») که این محصول API به آن‌ها محدود شده است. با مشخص کردن یک یا چند محیط، می‌توانید منابع فهرست‌شده در محصول API را به محیط خاصی مقید کنید و از دسترسی توسعه‌دهنده به آن منابع ازطریق پراکسی‌های API در محیط دیگر جلوگیری کنید. برای مثال، از این تنظیم برای جلوگیری از دسترسی منابع منسوب به پراکسی‌های API در «تولید» توسط پراکسی‌های API مستقر در «آزمایش» استفاده می‌شود. موجود نیست نه. اگر تعریف نشده باشد، apiResources باید به‌طور صریح تعریف شود، و متغیر flow.resource.name در خط‌مشی AssignMessage تنظیم شود.
quota تعداد درخواست‌های مجاز برای هر برنامه در بازه زمانی مشخص‌شده. موجود نیست نه
quotaInterval تعداد واحدهای زمانی که سهمیه‌ها در آن‌ها ارزیابی می‌شوند موجود نیست نه
quotaTimeUnit واحد زمان (دقیقه، ساعت، روز، یا ماه) که سهمیه‌ها در آن شمارش می‌شوند. موجود نیست نه

در زیر نمونه‌ای دقیق‌تر از ایجاد محصول API ارائه شده است.

curl -X POST  https://api.enterprise.apigee.com/v1/o/{org_name}/apiproducts \
-H "Content-Type:application/json" -d \
'{
  "apiResources": [ "/forecastrss" ],
  "approvalType": "auto", 
  "attributes":
    [ {"name": "access", "value": "public"} ],
  "description": "Free API Product",
  "displayName": "Free API Product",
  "name": "weather_free",
  "scopes": [],
  "proxies": [ "weatherapi" ],
  "environments": [ "test" ],
  "quota": "10",
  "quotaInterval": "2",
  "quotaTimeUnit": "hour" }' \
-u email:password

پاسخ نمونه

{
  "apiResources" : [ "/forecastrss" ],
  "approvalType" : "auto",
  "attributes" : [ {
    "name" : "access",
    "value" : "public"
  },
  "createdAt" : 1344454200828,
  "createdBy" : "admin@apigee.com",
  "description" : "Free API Product",
  "displayName" : "Free API Product",
  "lastModifiedAt" : 1344454200828,
  "lastModifiedBy" : "admin@apigee.com",
  "name" : "weather_free",
  "scopes" : [ ],
  "proxies": [ {'weatherapi'} ],
  "environments": [ {'test'} ],
  "quota": "10",
  "quotaInterval": "1",
  "quotaTimeUnit": "hour"}'
}

درباره محدوده‌ها

محدوده مفهومی است که از OAuth گرفته شده است و تقریباً با مفهوم «اجازه» مطابقت دارد. در Apigee Edge، دامنه‌ها کاملاً اختیاری هستند. می‌توانید از محدوده‌ها برای دستیابی به مجوزهای دقیق‌تر استفاده کنید. هر کلید مصرف‌کننده‌ای که برای یک برنامه صادر می‌شود، با یک «دامنه اصلی» مرتبط است. دامنه اصلی مجموعه همه دامنه‌ها در همه محصولات «میانای برنامه‌سازی کاربردی» است که این برنامه برای آن‌ها تأیید شده است. برای برنامه‌هایی که برای مصرف چندین محصول «میانای برنامه‌سازی کاربردی» تأیید شده‌اند، حوزه اصلی اتحاد همه حوزه‌های تعریف‌شده در محصولات «میانای برنامه‌سازی کاربردی» است که کلید مصرف‌کننده برای آن‌ها تأیید شده است.

مشاهده محصولات میانای برنامه‌سازی کاربردی

برای مشاهده محصولات API ایجادشده برای یک سازمان بااستفاده از API، بخش‌های زیر را ببینید:

در زیر نمونه‌ای از نحوه مشاهده محصولات API بااستفاده از API ارائه شده است:

curl -X GET "https://ext.apiexchange.org/v1/mint/organizations/{org_name}/products?monetized=true" \
  -H "Accept:application/json" \
  -u email:password

پاسخ باید چیزی شبیه به این باشد (فقط بخشی از پاسخ نشان داده می‌شود):

{
  "product" : [ {
    "customAtt1Name" : "user",
    "customAtt2Name" : "response size",
    "customAtt3Name" : "content-length",
    "description" : "payment api product",
    "displayName" : "payment",
    "id" : "payment",
    "name" : "payment",
    "organization" : {
      ...
    },
    "pricePoints" : [ ],
    "status" : "CREATED",
    "transactionSuccessCriteria" : "status == 'SUCCESS'"
  }, {
    "customAtt1Name" : "user",
    "customAtt2Name" : "response size",
    "customAtt3Name" : "content-length",
    "description" : "messaging api product",
    "displayName" : "messaging",
    "id" : "messaging",
    "name" : "messaging",
    "organization" : ...
    },
    "pricePoints" : [ ],
    "status" : "CREATED",
    "transactionSuccessCriteria" : "status == 'SUCCESS'"
  } ],
  "totalRecords" : 2
}

ثبت توسعه‌دهندگان بااستفاده از API

همه برنامه‌ها متعلق به توسعه‌دهندگان یا شرکت‌ها هستند. بنابراین، برای ایجاد برنامه، ابتدا باید توسعه‌دهنده یا شرکت را ثبت کنید.

توسعه‌دهندگان با ایجاد نمایه در سازمانی ثبت می‌شوند. توجه داشته باشید که ایمیل توسعه‌دهنده که در نمایه گنجانده شده است به‌عنوان کلید منحصربه‌فرد توسعه‌دهنده در سراسر Apigee Edge استفاده می‌شود.

برای پشتیبانی از درآمدزایی، باید مشخصه‌های درآمدزایی را هنگام ایجاد یا ویرایش توسعه‌دهندگان تعریف کنید. همچنین می‌توانید مشخصه‌های اختیاری دیگری برای استفاده در تجزیه‌وتحلیل سفارشی، اجرای خط‌مشی سفارشی، و غیره تعریف کنید؛ این مشخصه‌های اختیاری توسط Apigee Edge تفسیر نخواهند شد،

برای مثال، درخواست زیر نمایه‌ای را برای توسعه‌دهنده‌ای که نشانی ایمیلش ntesla@theremin.com است ثبت می‌کند و زیرمجموعه‌ای از مشخصه‌های درآمدزایی را بااستفاده از API ایجاد توسعه‌دهنده تعریف می‌کند:

$ curl -H "Content-type:application/json" -X POST -d \
'{"email" : "ntesla@theremin.com", 
  "firstName" : "Nikola", 
  "lastName" : "Tesla", 
  "userName" : "theremin", 
  "attributes" : [ 
  { 
    "name" : "project_type", 
    "value" : "public"
  },
  {    
   "name": "MINT_BILLING_TYPE",
   "value": "POSTPAID"
  },
  {
   "name": "MINT_DEVELOPER_ADDRESS",
   "value": "{\"address1\":\"Dev One Address\",\"city\":\"Pleasanton\",\"country\":\"US\",\"isPrimary\":true,\"state\":\"CA\",\"zip\":\"94588\"}"
  },
  {
   "name": "MINT_DEVELOPER_TYPE",
   "value": "TRUSTED"
  },
  {    
   "name": "MINT_HAS_SELF_BILLING,
   "value": "FALSE"
  },
  {
   "name" : "MINT_SUPPORTED_CURRENCY",
   "value" : "usd"
  }
 ] 
}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers \
-u email:password 

پاسخ نمونه

{
          "email" : "ntesla@theremin.com",
          "firstName" : "Nikola",
          "lastName" : "Tesla",
          "userName" : "theremin",
          "organizationName" : "{org_name}",
          "status" : "active",
          "attributes" : [ 
          {
            "name" : "project_type",
            "value" : "public"
          },
          {    
             "name": "MINT_BILLING_TYPE",
             "value": "POSTPAID"
          },
          {
             "name": "MINT_DEVELOPER_ADDRESS",
             "value": "{\"address1\":\"Dev One Address\",\"city\":\"Pleasanton\",\"country\":\"US\",\"isPrimary\":true,\"state\":\"CA\",\"zip\":\"94588\"}"
          },
          {
             "name": "MINT_DEVELOPER_TYPE",
             "value": "TRUSTED"
          },
          {    
             "name": "MINT_HAS_SELF_BILLING,
             "value": "FALSE"
          },
          {
             "name" : "MINT_SUPPORTED_CURRENCY",
             "value" : "usd"
          } 
          ],
          "createdAt" : 1343189787717,
          "createdBy" : "admin@apigee.com",
          "lastModifiedAt" : 1343189787717,
          "lastModifiedBy" : "admin@apigee.com"
        }

ثبت برنامه‌های توسعه‌دهنده بااستفاده از «میانای برنامه‌سازی کاربردی»

هر برنامه‌ای که در Apigee Edge ثبت می‌شود با یک توسعه‌دهنده و یک محصول API مرتبط است. وقتی برنامه‌ای ازطرف توسعه‌دهنده ثبت می‌شود، Apigee Edge «اطلاعات اعتباری» (جفت کلید مصرف‌کننده و رمز) تولید می‌کند که برنامه را شناسایی می‌کند. سپس برنامه باید این اطلاعات اعتباری را به‌عنوان بخشی از هر درخواست به محصول API منسوب به برنامه ارسال کند.

درخواست زیر از میانای ایجاد برنامه توسعه‌دهنده برای ثبت برنامه توسعه‌دهنده‌ای که در بالا ایجاد کردید استفاده می‌کند: ntesla@theremin.com. هنگام ثبت برنامه، نام برنامه، callbackUrl، و فهرست یک یا چند محصول API را تعریف می‌کنید:
$ curl -H "Content-type:application/json" -X POST -d \
'{
  "apiProducts": [ "weather_free"], 
  "callbackUrl" : "login.weatherapp.com", 
  "keyExpiresIn" : "2630000000",
  "name" : "weatherapp"}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps \
-u email:password 

callbackUrl توسط برخی‌از انواع اعطای OAuth (مثل کد مجوز) برای اعتبارسنجی درخواست‌های هدایت مجدد از برنامه استفاده می‌شود. اگر از OAuth استفاده می‌کنید، این مقدار باید روی همان مقدار redirect_uri استفاده‌شده برای ایجاد درخواست‌های OAuth تنظیم شود.

مشخصه keyExpiresIn، طول عمر کلید مصرف‌کننده را که برای برنامه توسعه‌دهنده تولید می‌شود، به میلی‌ثانیه مشخص می‌کند. مقدار پیش‌فرض، -۱، نشان‌دهنده دوره اعتبار نامحدود است.

پاسخ نمونه

{
  "appId": "5760d130-528f-4388-8c6f-65a6b3042bd1",
  "attributes": [
    {
      "name": "DisplayName",
      "value": "Test Key Expires"
    },
    {
      "name": "Notes",
      "value": "Just testing this attribute"
    }
  ],
  "createdAt": 1421770824390,
  "createdBy": "wwitman@apigee.com",
  "credentials": [
    {
      "apiProducts": [
        {
          "apiproduct": "ProductNoResources",
          "status": "approved"
        }
      ],
      "attributes": [],
      "consumerKey": "jcAFDcfwImkJ19A5gTsZRzfBItlqohBt",
      "consumerSecret": "AX7lGGIRJs6s8J8y",
      "expiresAt": 1424400824401,
      "issuedAt": 1421770824401,
      "scopes": [],
      "status": "approved"
    }
  ],
  "developerId": "e4Oy8ddTo3p1BFhs",
  "lastModifiedAt": 1421770824390,
  "lastModifiedBy": "wwitman@apigee.com",
  "name": "TestKeyExpires",
  "scopes": [],
  "status": "approved"
}

مدیریت کلیدهای مصرف‌کننده برای برنامه‌هایی که از میانای برنامه‌سازی کاربردی استفاده می‌کنند

دریافت کلید مصرف‌کننده (کلید میانای برنامه‌سازی کاربردی) برای برنامه

اطلاعات اعتباری برنامه (محصول API، کلید مصرف‌کننده، و رمز) به‌عنوان بخشی از نمایه برنامه برگردانده می‌شود. سرپرست سازمان می‌تواند کلید مصرف‌کننده را در هر زمانی بازیابی کند.

نمایه برنامه مقدار کلید و رمز مصرف‌کننده، وضعیت کلید مصرف‌کننده، و همچنین هرگونه ارتباط محصول API برای کلید را نمایش می‌دهد. به‌عنوان سرپرست، می‌توانید نمایه کلید مصرف‌کننده را در هر زمانی بااستفاده از میانای برنامه‌سازی کاربردی «دریافت جزئیات کلید برای برنامه توسعه‌دهنده» بازیابی کنید:

$ curl -X GET -H "Accept: application/json" \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J \
-u email:password

پاسخ نمونه

{
  "apiProducts" : [ {
    "apiproduct" : "weather_free",
    "status" : "approved"
  } ],
  "attributes" : [ ],
  "consumerKey" : "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
  "consumerSecret" : "1eluIIdWG3JGDjE0",
  "status" : "approved"
}

برای اطلاعات بیشتر، دریافت جزئیات کلید برای برنامه توسعه‌دهنده را ببینید.

افزودن محصول میانای برنامه‌سازی کاربردی به برنامه و کلید

برای به‌روزرسانی برنامه به‌منظور افزودن محصول جدید API، درواقع محصول API را بااستفاده از Add API Product to Key API به کلید برنامه اضافه می‌کنید. برای اطلاعات بیشتر، افزودن محصول API به کلید را ببینید.

افزودن محصول API به کلید برنامه، برنامه‌ای را که کلید را دراختیار دارد قادر می‌سازد به منابع API دسترسی پیدا کند که در محصول API دسته‌بندی شده‌اند. فراخوانی روش زیر محصول جدید API را به برنامه اضافه می‌کند:

$ curl -H "Content-type:application/json" -X POST -d \
'{
  "apiProducts": [ "newAPIProduct"]
}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J \
-u email:password 

پاسخ نمونه:

{
  "apiProducts": [
   {
     "apiproduct": "weather_free",
     "status": "approved"
   },
   {
     "apiproduct": "newAPIProduct",
     "status": "approved"
   }
 ],
 "attributes": [],
 "consumerKey": "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
 "consumerSecret": "1eluIIdWG3JGDjE0",
 "expiresAt": -1,
 "issuedAt": 1411491156464,
 "scopes": [],
 "status": "approved"
 }

تأیید کلیدهای مصرف‌کننده

تنظیم نوع تأیید به دستی به شما امکان می‌دهد کنترل کنید کدام توسعه‌دهندگان می‌توانند به منابع محافظت‌شده توسط محصولات API دسترسی داشته باشند. وقتی محصولات API دارای کلید تأیید روی manual تنظیم شده باشند، کلیدهای مصرف‌کننده باید به‌طور صریح تأیید شوند. کلیدها را می‌توان بااستفاده از میانای برنامه‌سازی کاربردی تأیید یا لغو کلید خاص برنامه توسعه‌دهنده به‌طور صریح تأیید کرد:

$ curl -X POST -H "Content-type:appilcation/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J?"action=approve" \
-u email:password

پاسخ نمونه

{
  "apiProducts" : [ {
  "apiproduct" : "weather_free",
  "status" : "approved"
} ],
  "attributes" : [ ],
  "consumerKey" : "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
  "consumerSecret" : "1eluIIdWG3JGDjE0",
  "status" : "approved"
}

برای اطلاعات بیشتر، تأیید یا لغو کلید خاص برنامه توسعه‌دهنده را ببینید.

محصولات میانای برنامه‌سازی کاربردی را برای کلیدهای مصرف‌کننده تأیید کنید

ارتباط محصول API با کلید مصرف‌کننده نیز وضعیت دارد. برای اینکه دسترسی به API موفقیت‌آمیز باشد، کلید مصرف‌کننده باید تأیید شود، و کلید مصرف‌کننده باید برای محصول API مناسب تأیید شود. پیوند کلید مصرف‌کننده با محصول API را می‌توان بااستفاده از API Approve or Revoke API Product for a Key for a Developer App تأیید کرد:

$ curl -X POST -H "Content-type:application/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J/apiproducts/weather_free?"action=approve" \
-u email:password

این فرمان cURL پاسخی برنمی‌گرداند. برای اطلاعات بیشتر، تأیید یا لغو محصول میانای برنامه‌سازی کاربردی برای کلید برنامه توسعه‌دهنده را ببینید.

لغو محصولات میانای برنامه‌سازی کاربردی برای کلیدهای مصرف‌کننده

دلایل زیادی وجود دارد که ممکن است نیاز به لغو ارتباط کلید مصرف‌کننده با محصول API داشته باشید. ممکن است لازم باشد محصول API را به‌دلیل عدم پرداخت توسط توسعه‌دهنده، پایان دوره آزمایشی، یا زمانی که برنامه از یک محصول API به محصول دیگر ارتقا می‌یابد، از کلید مصرف‌کننده حذف کنید.

برای لغو کردن ارتباط کلید مصرف‌کننده با محصول API، از Approve یا Revoke Specific Key of Developer App API استفاده کنید و کنش لغو را دربرابر کلید مصرف‌کننده برنامه توسعه‌دهنده به‌کار ببرید:

$ curl -X POST -H "Content-type:application/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J/apiproducts/weather_free?"action=revoke" \
-u email:password

این فرمان cURL پاسخی برنمی‌گرداند. برای اطلاعات بیشتر، تأیید یا لغو کلید خاص برنامه توسعه‌دهنده را ببینید.

اجرای تنظیمات محصول میانای برنامه‌سازی کاربردی

برای اینکه محصولات API اجرا شوند، یکی از انواع خط‌مشی زیر باید به جریان پراکسی API پیوست شود: :

  • VerifyAPIKey: مرجعی را به کلید میانای برنامه‌سازی کاربردی می‌گیرد، تأیید می‌کند که نشان‌دهنده برنامه معتبری است، و با محصول میانای برنامه‌سازی کاربردی مطابقت دارد. برای اطلاعات بیشتر، خط‌مشی «تأیید کلید API» را ببینید.
  • OAuthV1، عملیات «VerifyAccessToken»: امضا را درستی‌سنجی می‌کند، کد دسترسی OAuth 1.0a و «کلید مصرف‌کننده» را اعتبارسنجی می‌کند، و برنامه را با محصول API مطابقت می‌دهد. پشتیبانی از OAuth 1.0a منسوخ شده است؛ ویژگی‌های منسوخ‌شده را ببینید.
  • OAuthV2، عملیات «VerifyAccessToken»: تأیید می‌کند که کد دسترسی OAuth 2.0 معتبر است، کد را با برنامه مطابقت می‌دهد، معتبر بودن برنامه را تأیید می‌کند، و سپس برنامه را با محصول API مطابقت می‌دهد. برای اطلاعات بیشتر، OAuth home را ببینید.

پس‌از پیکربندی خط‌مشی‌ها و محصولات میانای برنامه‌سازی کاربردی، فرایند زیر توسط Apigee Edge اجرا می‌شود:

  1. درخواستی توسط Apigee Edge دریافت می‌شود و به پراکسی API مناسب هدایت می‌شود.
  2. خط‌مشی‌ای اجرا می‌شود که کلید میانای برنامه‌سازی کاربردی یا کد دسترسی OAuth ارائه‌شده توسط کارخواه را درستی‌سنجی می‌کند.
  3. ‫Edge «کلید میانای برنامه‌سازی کاربردی» یا کد دسترسی را به نمایه برنامه تبدیل می‌کند.
  4. ‫Edge فهرست (درصورت وجود) محصولات API مرتبط با برنامه را حل‌وفصل می‌کند.
  5. اولین محصول API که مطابقت داشته باشد برای پر کردن متغیرهای سهمیه استفاده می‌شود.
  6. اگر هیچ محصول API با کلید API یا کد دسترسی مطابقت نداشته باشد، درخواست رد می‌شود.
  7. ‫Edge کنترل دسترسی مبتنی بر نشانی وب (محیط، پراکسی API، و مسیر نشانی وب) را براساس تنظیمات محصول API، همراه با تنظیمات سهمیه، اعمال می‌کند.