ภาพรวม Web API ของพอร์ทัล
หมายเหตุ
พอร์ทัล Power Apps คือ Power Pages โดยมีผลในวันที่ 12 ตุลาคม 2022 ข้อมูลเพิ่มเติม: Microsoft Power Pages มีให้ใช้งานทั่วไป (บล็อก)
ในไม่ช้าเราจะย้ายและรวมคู่มือพอร์ทัล Power Apps เข้ากับ คู่มือ Power Pages
Web API ของพอร์ทัลช่วยให้ประสบการณ์ผู้ใช้ที่สมบูรณ์ยิ่งขึ้นภายในหน้าของพอร์ทัล Power Apps คุณสามารถใช้ Web API เพื่อทำการสร้าง อ่าน ปรับปรุง และลบการดำเนินการในตาราง Microsoft Dataverse ทั้งหมดจากหน้าพอร์ทัลของคุณ ตัวอย่างเช่น คุณสามารถสร้างบัญชีใหม่ ปรับปรุงผู้ติดต่อ หรือเปลี่ยน สิทธิ์ในตาราง สำหรับผลิตภัณฑ์โดยใช้ Web API ของพอร์ทัลแทนแอปการจัดการพอร์ทัล
หมายเหตุ
คุณยังสามารถใช้ Web API ของพอร์ทัลใน Power Pages ได้ด้วย ข้อมูลเพิ่มเติม: Power Pages คืออะไร
ข้อสำคัญ
- รุ่นพอร์ทัลของคุณต้องเป็น 9.3.3.x หรือใหม่กว่าเพื่อให้คุณลักษณะนี้ทำงานได้
- Web API ของพอร์ทัลถูกสร้างเพื่อสร้างประสบการณ์ผู้ใช้ที่สมบูรณ์ยิ่งขึ้นภายในหน้าพอร์ทัล ไม่เหมาะสำหรับบริการของบุคคลที่สาม หรือการรวมแอปพลิเคชัน การใช้ Web API ของพอร์ทัลเพื่อรวมเข้ากับไซต์ของพอร์ทัล Power Apps อื่นๆ ยังไม่รองรับเช่นกัน
- การดำเนินการ API เว็บของพอร์ทัลจำกัดเฉพาะตารางที่เกี่ยวข้องกับข้อมูล—ตัวอย่างเช่น บัญชี ผู้ติดต่อ หรือตารางที่คุณกำหนดเอง การกำหนดค่าเมตาดาต้าของตารางหรือข้อมูลตารางการกำหนดค่าของพอร์ทัล—ตัวอย่างเช่น การกำหนดค่าตารางพอร์ทัล เช่น adx_contentsnippet, adx_entityform หรือ adx_entitylist—ไม่รองรับ API เว็บของพอร์ทัล สำหรับรายการทั้งหมด ไปที่ ตารางการกำหนดค่าที่ไม่รองรับ ต่อไปในหัวข้อนี้
- Web API ของพอร์ทัลได้รับประโยชน์จาก การแคชฝั่งเซิร์ฟเวอร์ ดังนั้น การเรียกไปยัง Web API ในภายหลังจึงเร็วกว่าการเรียกครั้งแรก โปรดทราบว่าการล้างแคชฝั่งเซิร์ฟเวอร์ของพอร์ทัลจะทำให้ประสิทธิภาพลดลงชั่วคราว
- การดำเนินการ Web API ของพอร์ทัลต้องการสิทธิ์การใช้งานพอร์ทัลของ Power Apps ตัวอย่างเช่น การเรียก API สำหรับเว็บที่ทำโดยผู้ใช้ที่ไม่ระบุชื่อจะนับรวมกับความสามารถที่รองรับการดูเพจ การเรียก API สำหรับเว็บที่ทำโดยผู้ใช้ที่ได้รับการรับรองความถูกต้อง (ภายในหรือภายนอก) จะไม่นับรวมในการดูเพจ แต่ต้องมีใบอนุญาตที่ใช้งานได้ ข้อมูลเพิ่มเติม: คำถามที่พบบ่อยเกี่ยวกับการอนุญาตให้ใช้สิทธิ์พอร์ทัล Power Apps
การดำเนินการของ Web API
Web API ของพอร์ทัลมีความสามารถย่อยสำหรับการดำเนินการ Dataverse ที่คุณสามารถทำได้โดยใช้ API ของ Dataverse เรายังคงรักษารูปแบบ API ให้ใกล้เคียงกันมากที่สุด เพื่อลดช่วงการเรียนรู้
หมายเหตุ
การดำเนินการของ Web API คำนึงตัวพิมพ์ใหญ่-เล็ก
การดำเนินการของ Web API พร้อมใช้งานในพอร์ทัล
หมายเหตุ
ไม่รองรับการเรียก การดำเนินการ และ ฟังก์ชัน โดยใช้ Web API ของพอร์ทัล
การตั้งค่าไซต์สำหรับ Web API
คุณต้องเปิดใช้งานการตั้งค่าไซต์เพื่อเปิดใช้งาน Web API ของพอร์ทัลสำหรับพอร์ทัลของคุณ นอกจากนี้ คุณยังสามารถกำหนดค่า Web API ระดับฟิลด์ที่กำหนดฟิลด์ตารางที่สามารถหรือไม่สามารถแก้ไขได้ด้วย Web API ของพอร์ทัล
หมายเหตุ
ใช้ตาราง ชื่อตรรกะ สำหรับการตั้งค่าเหล่านี้ (เช่น บัญชีผู้ใช้)
ชื่อการตั้งค่าไซต์ | Description |
---|---|
Webapi/<table name>/enabled | เปิดหรือปิดใช้งาน Web API สำหรับ <table name> ค่าเริ่มต้น: False ค่าที่ถูกต้อง: True False |
Webapi/<table name>/fields | กำหนดรายการแอตทริบิวต์ที่คั่นด้วยจุลภาคที่สามารถแก้ไขได้ด้วย Web API ค่าที่เป็นไปได้: - แอตทริบิวต์ทั้งหมด: * - แอตทริบิวต์เฉพาะ: attr1,attr2,attr3 หมายเหตุ: ค่าต้องเป็นเครื่องหมายดอกจัน (*) หรือรายการชื่อฟิลด์ที่คั่นด้วยจุลภาค สำคัญ: นี่เป็นการตั้งค่าไซต์บังคับ เมื่อการตั้งค่านี้หายไป คุณจะเห็นข้อผิดพลาด "ไม่ได้กำหนดฟิลด์สำหรับเอนทิตีนี้" |
Webapi/ข้อผิดพลาด/innererror | เปิดใช้งานหรือปิดใช้งาน InnerError ค่าเริ่มต้น: False ค่าที่ถูกต้อง: True False |
Webapi/<table name>/disableodatafilter | เปิดใช้งานหรือปิดใช้งานตัวกรอง OData ค่าเริ่มต้น: False ค่าที่ถูกต้อง: True , False ดู ปัญหาที่ทราบ สำหรับข้อมูลเพิ่มเติม การตั้งค่าไซต์มีอยู่ในพอร์ทัลเวอร์ชัน 9.4.10.74 หรือที่ใหม่กว่า |
หมายเหตุ
การตั้งค่าไซต์จะต้องตั้งค่าเป็น ใช้งานอยู่ เพื่อให้การเปลี่ยนแปลงมีผล
ตัวอย่างเช่น เพื่อแสดง API สำหรับเว็บสำหรับตาราง Case ที่ผู้ใช้ที่ได้รับการรับรองความถูกต้องได้รับอนุญาตให้ดำเนินการสร้าง อัปเดต และลบการดำเนินการในเอนทิตีนี้ การตั้งค่าไซต์จะแสดงในตารางต่อไปนี้
ชื่อการตั้งค่าไซต์ | ค่าการตั้งค่าไซต์ |
---|---|
Webapi/เหตุการณ์/เปิดใช้งาน | จริง |
Webapi/เหตุการณ์/ฟิลด์ | attr1, attr2, attr3 |
การรักษาความปลอดภัยด้วย Web API ของพอร์ทัล
คุณสามารถกำหนดค่าการรักษาความปลอดภัยตามเรกคอร์ดให้กับแต่ละเรกคอร์ดในพอร์ทัลได้โดยใช้ สิทธิ์ในตาราง Web API ของพอร์ทัลเข้าถึงเรกคอร์ดตาราง (เอนทิตี) และติดตามสิทธิ์ของตารางที่มอบให้กับผู้ใช้ผ่าน บทบาทเว็บ ที่เกี่ยวข้อง
คุณสามารถกำหนดค่า สิทธิ์ของคอลัมน์ เพื่อกำหนดสิทธิ์การใช้งานเพิ่มเติมให้กับแต่ละคอลัมน์ภายในตารางขณะที่ใช้ Web API ของพอร์ทัลได้
การรับรองความถูกต้องคำขอ Web API ของพอร์ทัล
คุณไม่จำเป็นต้องใส่รหัสการรับรองความถูกต้อง เนื่องจากการอนุญาตและการรับรองความถูกต้องได้รับการจัดการโดยเซสชันแอปพลิเคชัน การเรียกใช้ Web API ทั้งหมดต้องมีโทเค็นการปลอมแปลงคำขอข้ามไซต์ (CSRF)
การใช้ EntitySetName
เมื่ออ้างถึงตาราง Dataverse โดยใช้พอร์ทัล Web API ในรหัสของคุณ คุณต้องใช้ EntitySetName ตัวอย่างเช่น ในการเข้าถึงตาราง บัญชีผู้ใช้ ไวยากรณ์โค้ดจะใช้ EntitySetName ของ บัญชี; /_api/accounts()
หมายเหตุ
ใช้ตาราง ชื่อตรรกะ สำหรับ การตั้งค่าไซต์ (เช่น บัญชีผู้ใช้)
คุณสามารถกำหนด EntitySetName ของตารางเฉพาะโดยทำตามขั้นตอนเหล่านี้:
เลือกแท็บ Dataverse จากแผงด้านข้างและเลือกตาราง
เลือก ... (ตัวเลือกคำสั่ง) จากนั้นเลือก ขั้นสูง เครื่องมือ และ คัดลอกชื่อชุด เพื่อคัดลอก EntitySetName ของตารางไปยังคลิปบอร์ดของคุณ
ข้อบังคับในการป้องกันข้อมูลทั่วไป (GDPR)
ส่วนหัวของคำขอทั้งหมดจะมีการส่งรหัสผู้ติดต่อเพื่อการตรวจสอบ สำหรับผู้ใช้ที่ไม่ระบุชื่อ สิ่งนี้จะถูกส่งผ่านเป็น null
หากเปิดใช้งานการบันทึกการตรวจสอบ ผู้ใช้สามารถดูเหตุการณ์การตรวจสอบทั้งหมดใน บันทึกการตรวจสอบ Office 365
ข้อมูลเพิ่มเติม:
เปิดใช้งาน และใช้การบันทึกกิจกรรม
ส่งออก, กำหนดค่า, และดูเรกคอร์ดบันทึกการตรวจสอบ
ตารางการกำหนดค่าที่ไม่รองรับ
Web API ของพอร์ทัลไม่สามารถใช้สำหรับตารางการกำหนดค่าต่อไปนี้:
adx_contentaccesslevel
adx_contentsnippet
adx_entityform
adx_entityformmetadata
adx_entitylist
adx_entitypermission
adx_entitypermission_webrole
adx_externalidentity
adx_pagealert
adx_pagenotification
adx_pagetag
adx_pagetag_webpage
adx_pagetemplate
adx_portallanguage
adx_publishingstate
adx_publishingstatetransitionrule
adx_publishingstatetransitionrule_webrole
adx_redirect
adx_setting
adx_shortcut
adx_sitemarker
adx_sitesetting
adx_urlhistory
adx_webfile
adx_webfilelog
adx_webform
adx_webformmetadata
adx_webformsession
adx_webformstep
adx_weblink
adx_weblinkset
adx_webnotificationentity
adx_webnotificationurl
adx_webpage
adx_webpage_tag
adx_webpageaccesscontrolrule
adx_webpageaccesscontrolrule_webrole
adx_webpagehistory
adx_webpagelog
adx_webrole_systemuser
adx_website
adx_website_list
adx_website_sponsor
adx_websiteaccess
adx_websiteaccess_webrole
adx_websitebinding
adx_websitelanguage
adx_webtemplate
ปัญหาที่ทราบกันดี
ผู้ใช้จะได้รับข้อผิดพลาด CDS หากเรียกใช้คำขอ GET
Web API สำหรับตารางที่มีหลายระดับของ 1 ต่อกลุ่ม หรือ กลุ่มต่อกลุ่ม ที่เป็น สิทธิ์ของตาราง ที่มีการกำหนดขอบเขต หลัก
ในการแก้ไขปัญหานี้ วิธีแก้ไขที่แนะนำคือการใช้ FetchXML ในการสอบถาม OData
หรือกำหนดการตั้งค่าไซต์ Webapi/<table name>/disableodatafilter เป็น True
ข้อสำคัญ
การเปลี่ยนการตั้งค่าไซต์ Webapi/<table name>/disableodatafilter เป็น True
อาจส่งผลให้ประสิทธิภาพการทำงานช้าลงสำหรับการเรียก Web API GET
การตั้งค่าไซต์มีอยู่ในพอร์ทัลเวอร์ชัน 9.4.10.74 หรือที่ใหม่กว่า
ขั้นตอนถัดไป
สืบค้นข้อมูลโดยใช้ Web API ของพอร์ทัล
ดูเพิ่มเติม
เขียนคำขอ HTTP และจัดการข้อผิดพลาด
พอร์ทัลเขียน, ปรับปรุง, และลบการดำเนินงานโดยใช้ Web API
บทช่วยสอน: ใช้ Web API ของพอร์ทัล
หมายเหตุ
บอกให้เราทราบเกี่ยวกับภาษาที่คุณต้องการในคู่มือ ทำแบบสำรวจสั้นๆ (โปรดทราบว่าแบบสำรวจนี้เป็นภาษาอังกฤษ)
แบบสำรวจนี้ใช้เวลาทำประมาณเจ็ดนาที ไม่มีการเก็บข้อมูลส่วนบุคคล (คำชี้แจงสิทธิ์ส่วนบุคคล)