คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
หัวข้อนี้จะอธิบายวิธีใช้ Edge API เพื่อสร้างผลิตภัณฑ์ API สำหรับการเผยแพร่ในพอร์ทัลนักพัฒนาซอฟต์แวร์
สร้างผลิตภัณฑ์ API โดยใช้ API
ผลิตภัณฑ์ API ช่วยให้นักพัฒนาซอฟต์แวร์ลงทะเบียนได้ แอปที่ใช้ API โดยใช้คีย์ API และโทเค็นเพื่อการเข้าถึง OAuth ผลิตภัณฑ์ API ได้รับการออกแบบมาเพื่อ ช่วยให้คุณสามารถ "รวม" ทรัพยากร API แล้วเผยแพร่แพ็กเกจเหล่านั้นไปยังกลุ่ม เช่น คุณอาจต้องเผยแพร่ชุดทรัพยากร API 1 ชุดไปยังพาร์ทเนอร์ ขณะเผยแพร่แพ็กเกจอื่นแก่นักพัฒนาซอฟต์แวร์ภายนอก ผลิตภัณฑ์ API ช่วยให้คุณทำสิ่งต่อไปนี้ได้ ดำเนินการรวมกลุ่มได้ทันทีโดยไม่ต้องเปลี่ยนแปลง API เลย CANNOT TRANSLATE ประโยชน์เพิ่มเติมคือ การเข้าถึงของนักพัฒนาซอฟต์แวร์สามารถ "อัปเกรด" และ "ดาวน์เกรด" โดยไม่ต้องใช้ นักพัฒนาซอฟต์แวร์เพื่อรับคีย์ผู้ใช้ใหม่สำหรับแอปของตน
หากต้องการสร้างผลิตภัณฑ์ API โดยใช้ API ให้ส่งคำขอ POST ไปยัง
/organizations/{org_name}/apiproducts
โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสร้างข้อมูลอ้างอิง API ของผลิตภัณฑ์
คำขอต่อไปนี้สร้างผลิตภัณฑ์ API ชื่อ weather_free
ผลิตภัณฑ์ API
ให้สิทธิ์การเข้าถึง 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 ได้ สำหรับกลุ่มนักพัฒนาซอฟต์แวร์ต่างๆ ตัวอย่างเช่น คุณสามารถสร้างผลิตภัณฑ์ API 2 รายการที่ให้สิทธิ์เข้าถึง ไปยังพร็อกซี API ต่างๆ คุณยังสร้างผลิตภัณฑ์ API 2 รายการที่ให้สิทธิ์เข้าถึง พร็อกซี API แต่มีการตั้งค่าโควต้าที่เกี่ยวข้องต่างกัน
การตั้งค่าการกำหนดค่าผลิตภัณฑ์ API
ผลิตภัณฑ์ API แสดงตัวเลือกการกำหนดค่าต่อไปนี้
ชื่อ | คำอธิบาย | ค่าเริ่มต้น | จำเป็นหรือไม่ |
---|---|---|---|
apiResources |
รายการ URI หรือเส้นทางทรัพยากรหรือ "แพ็กเกจ" ที่คั่นด้วยคอมมา ลงใน API ผลิตภัณฑ์ โดยค่าเริ่มต้น เส้นทางทรัพยากรจะแมปจาก คุณจะเลือกเส้นทางเฉพาะหรือจะเลือกเส้นทางย่อยทั้งหมดที่มีไวลด์การ์ดก็ได้
รองรับไวลด์การ์ด (/** และ /*) เครื่องหมายดอกจันคู่เป็นสัญลักษณ์แทน
มี URI ย่อยด้วย เครื่องหมายดอกจัน 1 ตัวบ่งชี้ว่า URI ลงไป 1 ระดับเท่านั้น
รวมไว้ด้วย |
ไม่มี | ไม่ได้ |
approvalType |
ระบุวิธีอนุมัติคีย์ API เพื่อเข้าถึง API ที่กำหนดโดยผลิตภัณฑ์ API ถ้า
ตั้งค่าเป็น manual คีย์ที่สร้างขึ้นสำหรับแอปจะอยู่ในคอลัมน์ "รอดำเนินการ"
คีย์ดังกล่าวจะไม่ทำงานจนกว่าจะได้รับการอนุมัติอย่างชัดเจน หากตั้งค่าเป็น auto
คีย์ทั้งหมดจะถูกสร้างขึ้นในส่วน "อนุมัติแล้ว" และทำงานได้ทันที (auto คือ
ซึ่งมักใช้เพื่อให้สิทธิ์เข้าถึงผลิตภัณฑ์ API ฟรี/ทดลองใช้ที่มีโควต้าจำกัด
หรือความสามารถ) |
ไม่มี | ใช่ |
attributes |
อาร์เรย์ของแอตทริบิวต์ที่สามารถใช้เพื่อขยายโปรไฟล์ผลิตภัณฑ์ API เริ่มต้นด้วย ข้อมูลเมตาเฉพาะลูกค้า
ใช้พร็อพเพอร์ตี้นี้เพื่อระบุระดับการเข้าถึงของผลิตภัณฑ์ API เป็นสาธารณะ ส่วนตัว หรือภายใน เช่น
"attributes": [
{
"name": "การเข้าถึง",
"value": "สาธารณะ"
}
{
"name": "foo","value": "foo" }, { "name": "บาร์", "value": "bar" }
]
|
ไม่มี | ไม่ได้ |
scopes |
รายการขอบเขต OAuth ที่คั่นด้วยคอมมา ซึ่งจะมีการตรวจสอบขณะรันไทม์ (Apigee Edge ตรวจสอบว่าขอบเขตในโทเค็นเพื่อการเข้าถึงที่แสดงตรงกับขอบเขตที่กำหนดไว้ใน API product.) | ไม่มี | ไม่ได้ |
proxies |
พร็อกซี API ที่มีชื่อที่เชื่อมโยงกับผลิตภัณฑ์ API นี้ เมื่อระบุพร็อกซี คุณจะสามารถ เชื่อมโยงทรัพยากรในผลิตภัณฑ์ API กับพร็อกซี API เฉพาะ ซึ่งป้องกันไม่ให้นักพัฒนาซอฟต์แวร์ เข้าถึงทรัพยากรเหล่านั้นผ่านพร็อกซี API อื่นๆ | ไม่มี | ไม่ หากไม่ได้กำหนดไว้ก็ต้องกำหนด apiResources ไว้อย่างชัดแจ้ง (ดูข้อมูล
สำหรับ apiResources ด้านบน) และตัวแปร flow.resource.name ที่ตั้งค่าไว้ใน
นโยบาย AssignMessage |
environments |
สภาพแวดล้อมที่มีชื่อ (เช่น "test" หรือ "prod") ที่เชื่อมโยงกับผลิตภัณฑ์ API นี้ เมื่อระบุสภาพแวดล้อมตั้งแต่ 1 รายการขึ้นไป คุณจะเชื่อมโยงทรัพยากรที่แสดงในผลิตภัณฑ์ API ได้ เฉพาะสภาพแวดล้อมที่เฉพาะเจาะจง เพื่อป้องกันไม่ให้นักพัฒนาซอฟต์แวร์เข้าถึงทรัพยากรเหล่านั้นผ่าน API พร็อกซีในสภาพแวดล้อมอื่นๆ ตัวอย่างเช่น ใช้การตั้งค่านี้เพื่อป้องกันไม่ให้ทรัพยากร ที่เชื่อมโยงกับพร็อกซี API ใน "prod" เข้าถึงโดยพร็อกซี API ที่ทำให้ใช้งานได้ใน "test" (ทดสอบ) | ไม่มี | ไม่ หากไม่ได้กำหนดไว้ก็ต้องกำหนด 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
หากต้องการดูผลิตภัณฑ์ API ที่สร้างขึ้นสำหรับองค์กรโดยใช้ API โปรดดูส่วนต่อไปนี้
- ดูผลิตภัณฑ์ API (สร้างรายได้)
โดยค่าเริ่มต้น ระบบจะแสดงเฉพาะผลิตภัณฑ์ API ที่สร้างรายได้เท่านั้น (กล่าวคือ ผลิตภัณฑ์ API ที่มีแพ็กเกจราคาที่เผยแพร่อย่างน้อย 1 แพ็กเกจ) หากต้องการแสดงผลิตภัณฑ์ API ทั้งหมด ให้ตั้งค่าพารามิเตอร์การค้นหา
monetized
เป็นfalse
ซึ่งเทียบเท่ากับการส่งคำขอ GET ไปยัง API ผลิตภัณฑ์ API ที่ไม่มีการสร้างรายได้https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts?expand=true
- ดูผลิตภัณฑ์ API (ไม่สร้างรายได้)
- ดูผลิตภัณฑ์ 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 ของ Create developer ดังนี้
$ 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" }
ลงทะเบียนแอปนักพัฒนาซอฟต์แวร์โดยใช้ API
ทุกแอปที่ลงทะเบียนใน Apigee Edge จะเชื่อมโยงกับนักพัฒนาซอฟต์แวร์และผลิตภัณฑ์ API เมื่อลงทะเบียนแอปในนามของนักพัฒนาแอป Apigee Edge จะสร้าง "ข้อมูลเข้าสู่ระบบ" ( คู่คีย์และข้อมูลลับของผู้ใช้) ที่ระบุแอป จากนั้นแอปจะต้องส่งข้อมูลเข้าสู่ระบบเหล่านี้ เป็นส่วนหนึ่งของคำขอทุกรายการที่ส่งไปยังผลิตภัณฑ์ API ที่เชื่อมโยงกับแอป
คำขอต่อไปนี้ใช้ สร้าง API ของแอปนักพัฒนาซอฟต์แวร์ สำหรับการลงทะเบียนแอปสำหรับนักพัฒนาซอฟต์แวร์ที่คุณสร้างขึ้นข้างต้น ให้ทำดังนี้ ntesla@theremin.com เมื่อลงทะเบียนแอป คุณจะกำหนดชื่อแอป, callbackUrl และรายการ API อย่างน้อย 1 รายการ ผลิตภัณฑ์:$ 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" }
จัดการคีย์ผู้ใช้สำหรับแอปโดยใช้ API
รับคีย์ผู้บริโภค (คีย์ API) สำหรับแอป
ข้อมูลเข้าสู่ระบบสำหรับแอป (ผลิตภัณฑ์ API, รหัสผู้ใช้ และข้อมูลลับ) จะแสดงเป็นส่วนหนึ่งของ โปรไฟล์แอป ผู้ดูแลระบบขององค์กรสามารถเรียกดูคีย์ผู้ใช้ได้ทุกเมื่อ
โปรไฟล์แอปจะแสดงค่าของคีย์และข้อมูลลับของผู้ใช้ สถานะของผู้ใช้ทั่วไป รวมทั้งการเชื่อมโยงผลิตภัณฑ์ 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 ใหม่ คุณจะต้องเพิ่มผลิตภัณฑ์ API ลงในคีย์ของแอป โดยใช้เพิ่มผลิตภัณฑ์ API ไปยังคีย์ 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
คีย์ผู้ใช้ต้องได้รับอนุมัติอย่างชัดเจน คีย์สามารถเป็น
อนุมัติอย่างชัดเจนโดยใช้อนุมัติหรือเพิกถอนคีย์เฉพาะของแอปนักพัฒนาซอฟต์แวร์
API:
$ 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 อาจมีลักษณะดังนี้ อนุมัติโดยใช้อนุมัติหรือเพิกถอนผลิตภัณฑ์ API สำหรับคีย์สำหรับนักพัฒนาซอฟต์แวร์ 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=approve" \ -u email:password
คำสั่ง cURL นี้จะไม่ส่งคืนการตอบกลับ โปรดดู อนุมัติหรือเพิกถอนผลิตภัณฑ์ API สำหรับคีย์สำหรับแอปนักพัฒนาซอฟต์แวร์เพิ่มเติม
เพิกถอนผลิตภัณฑ์ API สำหรับ คีย์ผู้ใช้
มีสาเหตุหลายประการที่คุณอาจต้องเพิกถอนการเชื่อมโยงคีย์ผู้ใช้กับ API ผลิตภัณฑ์ คุณอาจต้องนำผลิตภัณฑ์ API ออกจากคีย์ผู้ใช้ เนื่องจากไม่ได้ชำระเงินโดย ระยะเวลาทดลองใช้ที่หมดอายุแล้ว หรือเมื่อมีการโปรโมตแอปจากผลิตภัณฑ์ API หนึ่งเป็น อีกรายการ
หากต้องการยกเลิกการเชื่อมโยงของคีย์ผู้ใช้กับผลิตภัณฑ์ API ให้ใช้ลิงก์ อนุมัติ หรือเพิกถอนคีย์ 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 คุณต้องแนบนโยบายประเภทใดประเภทหนึ่งต่อไปนี้กับ API โฟลว์พร็อกซี:
- VerifyAPIKey: ทำการอ้างอิงคีย์ API ยืนยันว่าคีย์ดังกล่าวแสดงถึงแอปที่ถูกต้อง และ ตรงกับผลิตภัณฑ์ API โปรดดูยืนยันนโยบายคีย์ API สำหรับ และอีกมากมาย
- OAuthV1, "VerifyAccessToken": ยืนยันลายเซ็น, ตรวจสอบ โทเค็นเพื่อการเข้าถึง OAuth 1.0a และ "คีย์ผู้บริโภค" และจับคู่แอปกับผลิตภัณฑ์ API โปรดดูนโยบาย OAuth v1.0a สำหรับ และอีกมากมาย
- OAuthV2, "VerifyAccessToken": ยืนยันว่าสิทธิ์เข้าถึง OAuth 2.0 โทเค็นถูกต้อง จับคู่โทเค็นกับแอป ยืนยันว่าแอปถูกต้อง จากนั้นจับคู่ กับผลิตภัณฑ์ API โปรดดู OAuth หน้าแรกเพื่อดูเพิ่มเติม
เมื่อกำหนดค่านโยบายและผลิตภัณฑ์ API แล้ว Apigee จะดำเนินการตามขั้นตอนต่อไปนี้ ขอบ:
- Apigee Edge ได้รับคำขอและกำหนดเส้นทางไปยังพร็อกซี API ที่เหมาะสม
- จะมีการดำเนินการนโยบายที่ยืนยันคีย์ API หรือโทเค็นเพื่อการเข้าถึง OAuth ที่แสดงโดย ของคุณ
- Edge จะแปลงคีย์ API หรือโทเค็นเพื่อการเข้าถึงโปรไฟล์แอป
- Edge จะแก้ไขรายการ (หากมี) ของผลิตภัณฑ์ API ที่เชื่อมโยงกับแอป
- ผลิตภัณฑ์ API แรกที่ตรงกันจะใช้เพื่อป้อนข้อมูลตัวแปรโควต้า
- หากไม่มีผลิตภัณฑ์ API ที่ตรงกับคีย์ API หรือโทเค็นเพื่อการเข้าถึง คำขอจะถูกปฏิเสธ
- Edge บังคับใช้การควบคุมการเข้าถึงตาม URI (สภาพแวดล้อม, พร็อกซี API และเส้นทาง URI) โดยอิงตาม การตั้งค่าผลิตภัณฑ์ API พร้อมกับการตั้งค่าโควต้า