نشر واجهات برمجة التطبيقات باستخدام Edge API

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

يصف هذا القسم كيفية استخدام Edge API لإنشاء منتجات واجهة برمجة تطبيقات لنشرها على بوابات المطوّرين.

إنشاء منتجات واجهة برمجة التطبيقات باستخدام واجهة برمجة التطبيقات

تمكّن منتجات واجهة برمجة التطبيقات المطوّرين من تسجيل التطبيقات التي تستهلك واجهات برمجة التطبيقات باستخدام مفاتيح واجهة برمجة التطبيقات ورموز الدخول عبر بروتوكول OAuth. تم تصميم منتجات واجهة برمجة التطبيقات من أجل يمكنك "تجميع" موارد واجهة برمجة التطبيقات ثم نشر هذه الحزم إلى مجموعات مختلفة من المطورين. على سبيل المثال، قد يُطلب منك نشر مجموعة واحدة من موارد واجهة برمجة التطبيقات لشريكك. تطبيقك، وذلك أثناء نشر حزمة أخرى للمطوّرين الخارجيين تتيح لك منتجات واجهة برمجة التطبيقات إجراء هذا التجميع الفوري، بدون الحاجة إلى أي تغييرات على واجهات برمجة التطبيقات نفسها. إنّ وهي ميزة إضافية تتمثل في إمكانية "ترقية" وصول المطوّرين و"تم الرجوع إلى إصدار سابق" بدون الحاجة إلى على مطوري البرامج الحصول على مفاتيح عميل جديدة لتطبيقاتهم.

لإنشاء منتج واجهة برمجة تطبيقات باستخدام واجهة برمجة التطبيقات، عليك إرسال طلب POST إلى /organizations/{org_name}/apiproducts لمعرفة مزيد من المعلومات، يُرجى الاطّلاع على إنشاء مرجع واجهة برمجة التطبيقات Product API.

ينشئ الطلب التالي منتج واجهة برمجة تطبيقات باسم weather_free. منتج واجهة برمجة التطبيقات توفر هذه السياسة إمكانية الوصول إلى جميع واجهات برمجة التطبيقات التي يعرضها الخادم الوكيل لواجهة برمجة التطبيقات المسمى 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" : [ ]
}

ينفذ منتج واجهة برمجة التطبيقات الذي تم إنشاؤه أعلاه السيناريو الأساسي، ويسمح بالطلبات إلى الخادم الوكيل لواجهة برمجة التطبيقات في إحدى البيئات. وهي تحدد منتج واجهة برمجة التطبيقات الذي يتيح للتطبيق المعتمد الوصول إلى أي موارد واجهة برمجة تطبيقات يتم الوصول إليها من خلال الخادم الوكيل لواجهة برمجة التطبيقات قيد التشغيل في بيئة الاختبار. منتجات واجهة برمجة التطبيقات عرض إعدادات الضبط الإضافية التي تمكّنك من تخصيص التحكّم في الوصول إلى واجهات برمجة التطبيقات لمجموعات مختلفة من المطوّرين على سبيل المثال، يمكنك إنشاء منتجين لواجهة برمجة التطبيقات يوفران إمكانية الوصول إلى خوادم وكيلة مختلفة لواجهة برمجة التطبيقات. يمكنك أيضًا إنشاء منتجين لواجهة برمجة التطبيقات يوفران الوصول إلى الخوادم الوكيلة لواجهة برمجة التطبيقات، ولكن مع إعدادات مختلفة للحصة المرتبطة

إعدادات ضبط منتج واجهة برمجة التطبيقات

تعرض منتجات واجهة برمجة التطبيقات خيارات الإعداد التالية:

الاسم الوصف تلقائي مطلوب؟
apiResources

قائمة بمعرّفات الموارد المنتظمة (URI) مفصولة بفواصل، أو مسارات الموارد "مجمّعة" في واجهة برمجة التطبيقات المنتج.

يتم تلقائيًا ربط مسارات الموارد من proxy.pathsuffix. المتغير. وتُعرف لاحقة مسار الخادم الوكيل بأنها جزء عنوان URI الذي يلي المسار الأساسي لـ ProxyEndpoint على سبيل المثال، في نموذج منتج واجهة برمجة التطبيقات أدناه، تم تحديد عنصر apiResources على أنّه /forecastrss. نظرًا لأن إن المسار الأساسي المحدد للخادم الوكيل لواجهة برمجة التطبيقات هذا هو /weather، وهذا يعني أن الطلبات إلى /weather/forecastrss مسموح بها من خلال منتج واجهة برمجة التطبيقات هذا.

ويمكنك اختيار مسار معيّن أو اختيار جميع المسارات الفرعية باستخدام حرف بدل. ويمكن استخدام أحرف البدل (/** و /*). يشير حرف البدل النجمي المزدوج إلى أن جميع تم تضمين معرفات الموارد المنتظمة (URI) الفرعية. تشير علامة النجمة المفردة إلى أن معرفات الموارد المنتظمة (URI) بمستوى واحد لأسفل هي فقط .

بشكل افتراضي، '/' يستخدم نفس الموارد مثل '/**' وكذلك قاعدة المسار الذي حدّده الخادم الوكيل لواجهة برمجة التطبيقات. على سبيل المثال، إذا كان المسار الأساسي لخادم وكيل واجهة برمجة التطبيقات هو /v1/weatherapikey، ثم أن يدعم منتج واجهة برمجة التطبيقات الطلبات إلى /v1/weatherapikey معرّفات الموارد المنتظمة (URI) الفرعية، مثل /v1/weatherapikey/forecastrss، /v1/weatherapikey/region/CA وما إلى ذلك. عرض إدارة منتجات واجهة برمجة التطبيقات لـ معلومات حول تغيير سلوك هذه الإعدادات الافتراضية.

لا ينطبق لا
approvalType تحدِّد هذه السياسة كيفية الموافقة على وصول مفاتيح واجهة برمجة التطبيقات إلى واجهات برمجة التطبيقات المحدّدة من خلال منتج واجهة برمجة التطبيقات. في حال حذف تم ضبط القيمة على manual، سيكون المفتاح الذي تم إنشاؤه للتطبيق في حالة "قيد الانتظار". الولاية. لن تعمل هذه المفاتيح إلا بعد الموافقة عليها صراحةً. في حال ضبط السياسة على auto، يتم إنشاء جميع المفاتيح في عمود "تمت الموافقة" والعمل على الفور. (auto هو يُستخدم عادةً لتوفير الوصول إلى منتجات واجهة برمجة التطبيقات (API) التجريبية/المجانية التي توفر حصة محدودة أو الإمكانات). لا ينطبق نعم
attributes

مصفوفة من السمات التي يمكن استخدامها لتوسيع الملف الشخصي التلقائي لمنتج واجهة برمجة التطبيقات باستخدام بيانات التعريف الخاصة بالعميل.

استخدِم هذا الموقع لتحديد مستوى الوصول إلى منتج واجهة برمجة التطبيقات على أنّه علني أو خاص أو داخلي. على سبيل المثال:
"السمات": [
{
"name": "access",
"القيمة": "علني"
{
"name": "foo",
"value": "foo"
},
{
"name": "bar",
"القيمة": "bar"
}
]
لا ينطبق لا
scopes قائمة بنطاقات OAuth مفصولة بفواصل والتي تم التحقُّق منها في وقت التشغيل. (Apigee Edge) التحقّق من تطابق النطاقات في أي رمز دخول معروض مع النطاق المحدَّد في واجهة برمجة التطبيقات product.) لا ينطبق لا
proxies الخوادم الوكيلة المُعنونة لواجهة برمجة التطبيقات التي يرتبط بها منتج واجهة برمجة التطبيقات هذا من خلال تحديد الخوادم الوكيلة، يمكنك ربط الموارد في منتج واجهة برمجة التطبيقات بالخوادم الوكيلة المحددة لواجهة برمجة التطبيقات، ما يمنع مطوري البرامج من الوصول إلى هذه الموارد من خلال الخوادم الوكيلة الأخرى لواجهة برمجة التطبيقات. لا ينطبق لا، إذا لم يتم تحديد قيمة، يجب تحديد apiResources بشكل صريح (يُرجى الاطّلاع على المعلومات). بالنسبة إلى apiResources أعلاه)، وتم ضبط متغير flow.resource.name في سياسة assignMessage.
environments البيئات المُسمّاة (مثل "test" أو "prod") التي يرتبط بها منتج واجهة برمجة التطبيقات هذا من خلال تحديد بيئة واحدة أو أكثر، يمكنك ربط الموارد المدرَجة في منتج واجهة برمجة التطبيقات. على بيئة معيّنة، ما يمنع المطوّرين من الوصول إلى هذه الموارد من خلال واجهة برمجة التطبيقات خوادم وكيلة في بيئة أخرى. يُستخدَم هذا الإعداد مثلاً لمنع الموارد المرتبطة بالخوادم الوكيلة لواجهة برمجة التطبيقات في "الإنتاج" من الوصول إليها من خلال الخوادم الوكيلة لواجهة برمجة التطبيقات التي تم نشرها في "test". لا ينطبق لا، إذا لم يتم تحديده، يجب تحديد apiResources بشكل صريح. تم ضبط المتغيّر flow.resource.name في سياسة AssignMessage.
quota عدد الطلبات المسموح بها لكل تطبيق خلال الفاصل الزمني المحدّد لا ينطبق لا
quotaInterval عدد الوحدات الزمنية التي يتم تقييم الحصص خلالها لا ينطبق لا
quotaTimeUnit الوحدة الزمنية (الدقيقة أو الساعة أو اليوم أو الشهر) التي يتم احتساب الحصص خلالها. لا ينطبق لا

في ما يلي مثال أكثر تفصيلاً لإنشاء منتج واجهة برمجة تطبيقات.

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، تكون النطاقات اختيارية تمامًا. يمكنك استخدام النطاقات للحصول على نتائج أكثر دقة التفويض. يرتبط كل مفتاح عميل يتم إصداره للتطبيق بـ "النطاق الرئيسي". تشير رسالة الأشكال البيانية النطاق الرئيسي هو مجموعة جميع النطاقات في جميع منتجات واجهة برمجة التطبيقات لهذا التطبيق الذي تمت الموافقة عليه. بالنسبة التطبيقات المعتمدة على أن تستهلك منتجات واجهة برمجة تطبيقات متعددة، فإن النطاق الرئيسي هو اتحاد جميع النطاقات محدد في منتجات واجهة برمجة التطبيقات التي تمت الموافقة على مفتاح المستهلك لها.

عرض منتجات واجهة برمجة التطبيقات

لعرض منتجات واجهة برمجة التطبيقات التي تم إنشاؤها لمؤسسة باستخدام واجهة برمجة التطبيقات، راجِع الأقسام التالية:

في ما يلي مثال على كيفية عرض منتجات واجهة برمجة التطبيقات باستخدام واجهة برمجة التطبيقات:

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
}

تسجيل المطوّرين باستخدام واجهة برمجة التطبيقات

ويجب أن تكون جميع التطبيقات ملكًا للمطوّرين أو الشركات. لذلك، لإنشاء تطبيق، تحتاج أولاً لتسجيل مطور أو شركة.

يتم تسجيل المطوّرين في مؤسسة من خلال إنشاء ملف شخصي. لاحظ أن مطور البرامج فإن البريد الإلكتروني الذي يتم تضمينه في الملف الشخصي يُستخدم كمفتاح فريد للمطور طوال Apigee Edge.

لإتاحة تحقيق الربح، يجب تحديد ميزة تحقيق الربح. السمات عند إنشاء مطوِّري البرامج أو تعديلهم. يمكنك أيضًا تحديد خيارات عشوائية أخرى السمات التي يجب استخدامها في الإحصاءات المخصّصة وتنفيذ السياسات المخصّصة وما إلى ذلك هذه النتائج العشوائية التي لن يتم تفسيرها باستخدام Apigee Edge،

على سبيل المثال، يسجِّل الطلب التالي ملفًا شخصيًا لمطوّر البرامج الذي يمتلك عنوان بريده الإلكتروني ntesla@theremin.com ويحدّد مجموعة فرعية من تحقيق الربح باستخدام واجهة برمجة تطبيقات إنشاء مطوِّر:

$ 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 بمطوِّر ومنتج واجهة برمجة التطبيقات. عند تسجيل تطبيق نيابةً عن مطوّر، تُنشئ Apigee Edge "بيانات اعتماد" ( مفتاح العميل والزوج السرّي) للتعرّف على التطبيق. بعد ذلك، يجب أن يجتاز التطبيق بيانات الاعتماد هذه. كجزء من كل طلب يتم إرساله إلى منتج واجهة برمجة تطبيقات مرتبط بالتطبيق.

يستخدم الطلب التالي صفحة إنشاء Developer App API لتسجيل تطبيق لمطوّر البرامج الذي أنشأته أعلاه: ntesla@theremin.com عند تسجيل تطبيق، عليك تحديد اسم للتطبيق وcallbackUrl وقائمة واجهة برمجة تطبيقات واحدة أو أكثر. المنتجات:
$ 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، بالمللي ثانية، مدى بقاء مفتاح العميل الذي سيتم إنشاؤه لتطبيق المطوّر. تشير القيمة الافتراضية، -1، إلى فترة صلاحية غير محدودة.

نموذج إجابة

{
  "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"
}

إدارة مفاتيح المستهلك للتطبيقات باستخدام واجهة برمجة التطبيقات

الحصول على مفتاح المستهلك (مفتاح واجهة برمجة التطبيقات) للتطبيق

يتم عرض بيانات الاعتماد للتطبيق (منتج واجهة برمجة التطبيقات ومفتاح العميل والسر) كجزء من للملف الشخصي للتطبيق. ويمكن لمشرف المؤسسة استرداد مفتاح المستهلك في أي وقت.

يعرض الملف الشخصي للتطبيق قيمة مفتاح وسر العميل وحالة المستهلك بالإضافة إلى أي ارتباطات مع منتج واجهة برمجة التطبيقات للمفتاح. بصفتك مشرفًا، يمكنك استرداد ملف شخصي للمستهلك في أي وقت باستخدام الحصول على التفاصيل الأساسية لتطبيق مطوِّر واجهة برمجة التطبيقات:

$ 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"
}

عرض يمكنك الحصول على التفاصيل الأساسية لتطبيق مطوِّر وغير ذلك.

أضِف منتج واجهة برمجة تطبيقات إلى التطبيق والمفتاح

لتحديث تطبيق من أجل إضافة منتج واجهة برمجة تطبيقات جديد، عليك إضافة منتج واجهة برمجة التطبيقات إلى مفتاح التطبيق. باستخدام Add API Product to Key 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"
 }

الموافقة على مفاتيح المستهلك

يتيح لك ضبط نوع الموافقة على يدوي التحكّم في يمكن للمطوّرين الوصول إلى الموارد المحمية بمنتجات واجهة برمجة التطبيقات. عندما تحتوي منتجات واجهة برمجة التطبيقات على مفتاح تم ضبط الموافقة على 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"
}

عرض يمكنك الموافقة على مفتاح معيّن لتطبيق المطوّر أو إبطاله للمزيد من المعلومات.

الموافقة على منتجات واجهة برمجة التطبيقات لمفاتيح المستهلك

هناك أيضًا حالة لربط منتج واجهة برمجة التطبيقات بمفتاح مستهلِك. أن يكون الوصول إلى واجهة برمجة التطبيقات بنجاح، يجب الموافقة على مفتاح المستهلك ويجب الموافقة على مفتاح المستهلك منتج واجهة برمجة التطبيقات المناسب. يمكن ربط مفتاح المستهلك بمنتج واجهة برمجة التطبيقات الموافقة عليها باستخدام الموافقة على منتج واجهة برمجة التطبيقات أو إبطاله للحصول على مفتاح لأحد المطوِّرين واجهة برمجة التطبيقاتللتطبيقات:

$ 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 هذا إلى عرض استجابة. عرض الموافقة على منتج واجهة برمجة التطبيقات للحصول على مفتاح لأحد تطبيقات المطوّرين أو إبطاله للمزيد من المعلومات

إبطال منتجات واجهة برمجة التطبيقات لـ مفاتيح المستهلك

هناك العديد من الأسباب التي قد تدفعك إلى إلغاء ربط مفتاح مستهلك بواجهة برمجة تطبيقات. المنتج. قد تحتاج إلى إزالة منتج واجهة برمجة التطبيقات من مفتاح مستهلك بسبب عدم دفع الرسوم بحلول مطور البرامج، أو فترة تجريبية منتهية الصلاحية، أو عند الترويج لتطبيق من أحد منتجات واجهة برمجة التطبيقات إلى البعض

لإبطال ربط مفتاح مستهلك بمنتج بيانات واجهة برمجة التطبيقات، يمكنك استخدام زر موافقة أو إبطال المفتاح المحدّد لواجهة برمجة التطبيقات للمطوّرين باستخدام إجراء إبطال مفتاح العميل لتطوير التطبيق:

$ 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 هذا إلى عرض استجابة. عرض يمكنك الموافقة على مفتاح معيّن لتطبيق المطوّر أو إبطاله للمزيد من المعلومات.

فرض إعدادات منتج واجهة برمجة التطبيقات

لكي يتم فرض استخدام منتجات واجهة برمجة التطبيقات، يجب إرفاق أحد أنواع السياسات التالية بواجهة برمجة التطبيقات. تدفق الخادم الوكيل:

  • CheckAPIKey: يشير إلى مفتاح واجهة برمجة التطبيقات، ويتحقق من أنه يمثل تطبيقًا صالحًا، يطابق منتج واجهة برمجة التطبيقات. يمكنك الاطّلاع على سياسة مفتاح واجهة برمجة التطبيقات لمعرفة أخرى.
  • OAuthV1، العملية "VerifyAccessToken": التحقّق من التوقيع، التحقّق من رمز الدخول و"مفتاح العميل" في OAuth 1.0a، ويطابقان التطبيق مع منتج واجهة برمجة التطبيقات. الاطّلاع على سياسة الإصدار 1.0a من OAuth للحصول على أخرى.
  • OAuthV2، العملية "VerifyAccessToken": التحقّق من إمكانية وصول OAuth 2.0 الرمز المميّز صالح، ويتطابق مع الرمز المميّز للتطبيق، ويتأكّد من صلاحية التطبيق، ثم يطابق التطبيق إلى منتج واجهة برمجة التطبيقات. الاطّلاع على بروتوكول OAuth الصفحة الرئيسية لمعرفة المزيد.

بعد ضبط السياسات ومنتجات واجهة برمجة التطبيقات، تنفِّذ Apigee العملية التالية الحد:

  1. يتلقّى Apigee Edge طلبًا ويتم توجيهه إلى الخادم الوكيل لواجهة برمجة التطبيقات المناسب.
  2. يتم تنفيذ سياسة للتحقّق من مفتاح واجهة برمجة التطبيقات أو رمز الدخول عبر OAuth المعروض من خلال البرنامج.
  3. تحل Edge مفتاح واجهة برمجة التطبيقات أو رمز الدخول إلى ملف شخصي للتطبيق.
  4. تعمل Edge على تحليل قائمة منتجات واجهة برمجة التطبيقات المرتبطة بالتطبيق (في حال توفّرها.)
  5. يُستخدَم أول منتج لواجهة برمجة تطبيقات مطابق لتعبئة متغيّرات الحصة.
  6. إذا لم يتطابق أي منتج من منتجات واجهة برمجة التطبيقات مع مفتاح واجهة برمجة التطبيقات أو رمز الدخول، سيتم رفض الطلب.
  7. تفرض شبكة Edge التحكم في الوصول المستند إلى URI (البيئة وخادم وكيل واجهة برمجة التطبيقات ومسار عنوان URI) بناءً على إعدادات منتجات واجهة برمجة التطبيقات، بالإضافة إلى إعدادات الحصة