ภาพรวม Web API ของพอร์ทัล
API เว็บของพอร์ทัลช่วยให้ประสบการณ์ผู้ใช้ที่สมบูรณ์ยิ่งขึ้นภายในไซต์ Power Pages คุณสามารถใช้ API เว็บเพื่อทำการสร้าง อ่าน ปรับปรุง และลบการดำเนินการในตาราง Microsoft Dataverse ทั้งหมดจากเว็บเพจของคุณ ตัวอย่างเช่น คุณสามารถสร้างบัญชีใหม่ อัปเดตผู้ติดต่อ โดยไม่ต้องใช้ ฟอร์ม หรือ ฟอร์มหลายขั้นตอน โดยการใช้ API เว็บของพอร์ทัล
สำคัญ
- รุ่นไซต์ Power Pages ของคุณต้องเป็น 9.3.3.x หรือใหม่กว่าเพื่อให้คุณลักษณะนี้ทำงานได้
- Web API ของพอร์ทัลถูกสร้างเพื่อสร้างประสบการณ์ผู้ใช้ที่สมบูรณ์ยิ่งขึ้นภายในหน้าพอร์ทัล ไม่เหมาะสำหรับบริการของบุคคลที่สาม หรือการรวมแอปพลิเคชัน ไม่สนับสนุนการใช้ Web API ของพอร์ทัลเพื่อรวมเข้ากับไซต์ Power Pages อื่นๆ
- การดำเนินการ API เว็บของพอร์ทัลจำกัดเฉพาะตารางที่เกี่ยวข้องกับข้อมูล ตัวอย่างเช่น บัญชี ผู้ติดต่อ หรือตารางที่คุณกำหนดเอง การกำหนดค่าเมตาดาต้าของตารางหรือข้อมูลตารางการกำหนดค่าของพอร์ทัล ตัวอย่างเช่น การกำหนดค่าตารางพอร์ทัล เช่น adx_contentsnippet, adx_entityform หรือ adx_entitylist ไม่รองรับ API เว็บของพอร์ทัล สำหรับรายการทั้งหมด ไปที่ ตารางการกำหนดค่าที่ไม่รองรับ ต่อไปในหัวข้อนี้
- Web API ของพอร์ทัลได้รับประโยชน์จาก การแคชฝั่งเซิร์ฟเวอร์ ดังนั้น การเรียกไปยัง Web API ในภายหลังจึงเร็วกว่าการเรียกครั้งแรก โปรดทราบว่าการล้างแคชฝั่งเซิร์ฟเวอร์ของพอร์ทัลจะทำให้ประสิทธิภาพลดลงชั่วคราว
- การดำเนินการ Web API ของพอร์ทัลต้องการสิทธิ์การใช้งาน Power Pages ตัวอย่างเช่น การเรียก API สำหรับเว็บที่ทำโดยผู้ใช้ที่ไม่ระบุชื่อจะนับรวมกับความสามารถที่รองรับผู้ใช้ที่ไม่ระบุตัวตน การเรียก API สำหรับเว็บที่ทำโดยผู้ใช้ที่ได้รับการรับรองความถูกต้อง (ภายในหรือภายนอก) จะไม่นับรวมในการดูเพจ แต่ต้องมีใบอนุญาตความจุผู้ผู้ใช้ที่ได้รับการรับรองความถูกต้องที่ใช้งานได้ ข้อมูลเพิ่มเติม: คำถามที่ถามบ่อยเกี่ยวกับการให้สิทธิการใช้งาน Power Pages
การดำเนินการของ Web API
Web API ของพอร์ทัลมีความสามารถย่อยสำหรับการดำเนินการ Dataverse ที่คุณสามารถทำได้โดยใช้ API ของ Dataverse เรายังคงรักษารูปแบบ API ให้ใกล้เคียงกันมากที่สุด เพื่อลดช่วงการเรียนรู้
หมายเหตุ
การดำเนินการของ Web API คำนึงตัวพิมพ์ใหญ่-เล็ก
การดำเนินการของ Web API พร้อมใช้งานใน Power Pages
หมายเหตุ
ไม่รองรับการเรียก การดำเนินการ และ ฟังก์ชัน โดยใช้ Web API ของพอร์ทัล
การตั้งค่าไซต์สำหรับ Web API
คุณต้องเปิดใช้งานการตั้งค่าไซต์เพื่อเปิดใช้งาน Web API ของพอร์ทัลสำหรับพอร์ทัลของคุณ นอกจากนี้ คุณยังสามารถกำหนดค่า Web API ระดับฟิลด์ที่กำหนดฟิลด์ตารางที่สามารถหรือไม่สามารถแก้ไขได้ด้วย Web API ของพอร์ทัล
หมายเหตุ
ใช้ตาราง ชื่อตรรกะ สำหรับการตั้งค่าเหล่านี้ (เช่น บัญชีผู้ใช้)
ชื่อการตั้งค่าไซต์ | รายละเอียด |
---|---|
Webapi/<table name>/enabled | เปิดหรือปิดใช้งาน API เว็บ <ชื่อตาราง> ค่าเริ่มต้น: 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 ของตารางไปยังคลิปบอร์ดของคุณ
กฎหมายและข้อบังคับด้านความเป็นส่วนตัว
ส่วนหัวของคำขอทั้งหมดจะมีการส่งรหัสผู้ติดต่อเพื่อการตรวจสอบ สำหรับผู้ใช้ที่ไม่ระบุชื่อ สิ่งนี้จะถูกส่งผ่านเป็น 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
อาจส่งผลให้ประสิทธิภาพการทำงานช้าลงสำหรับการเรียก GET
ของ API เว็บ
การตั้งค่าไซต์มีอยู่ในพอร์ทัลเวอร์ชัน 9.4.10.74 หรือที่ใหม่กว่า
ขั้นตอนถัดไป
สืบค้นข้อมูลโดยใช้ Web API ของพอร์ทัล