ภาพรวม 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 ของตารางเฉพาะโดยทำตามขั้นตอนเหล่านี้:

  1. ไปที่ https://make.powerapps.com

  2. เลือกแท็บ Dataverse จากแผงด้านข้างและเลือกตาราง

  3. เลือก ... (ตัวเลือกคำสั่ง) จากนั้นเลือก ขั้นสูงเครื่องมือ และ คัดลอกชื่อชุด เพื่อคัดลอก EntitySetName ของตารางไปยังคลิปบอร์ดของคุณ

    วิธีค้นหา EntitySetName ของตาราง Dataverse

กฎหมายและข้อบังคับด้านความเป็นส่วนตัว

ส่วนหัวของคำขอทั้งหมดจะมีการส่งรหัสผู้ติดต่อเพื่อการตรวจสอบ สำหรับผู้ใช้ที่ไม่ระบุชื่อ สิ่งนี้จะถูกส่งผ่านเป็น null

หากเปิดใช้งานการบันทึกการตรวจสอบ ผู้ใช้สามารถดูเหตุการณ์การตรวจสอบทั้งหมดใน บันทึกการตรวจสอบ Office 365

บันทึกการตรวจสอบ 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 ของพอร์ทัล

ดูเพิ่มเติม