Web.Contents
Web.Contents(url as text, optional options as nullable record) as binary
แสดงเนื้อหาที่ดาวน์โหลดจาก url
เป็นไบนารี อาจมีพารามิเตอร์ options
ของระเบียนที่เลือกได้ เพื่อระบุคุณสมบัติเพิ่มเติม ระเบียนอาจมีเขตข้อมูลต่อไปนี้:
Query
: ระบบในโปรแกรมเพิ่มพารามิเตอร์คิวรีไปยัง URL โดยไม่จําเป็นต้องกังวลเกี่ยวกับการหลบหนีApiKeyName
: หากไซต์เป้าหมายมีแนวรับของคีย์ API พารามิเตอร์นี้สามารถใช้เพื่อระบุชื่อ (ไม่ใช่ค่า) ของพารามิเตอร์คีย์ที่ต้องใช้ใน URL นี้ ค่าคีย์จริงจะถูกระบุในข้อมูลประจําตัวHeaders
: การระบุค่านี้เป็นระเบียน จะเป็นการป้อนส่วนหัวเพิ่มเติมตามคําขอ HTTPTimeout
: การระบุค่านี้เป็นระยะเวลา จะเป็นการเปลี่ยนแปลงการหมดเวลาสําหรับคําขอ HTTP ค่าเริ่มต้นคือ 100 วินาทีExcludedFromCacheKey
: การระบุค่านี้เป็นรายการ จะเป็นการแยกคีย์ส่วนหัว HTTP เหล่านี้ออกจากการใช้เป็นส่วนหนึ่งในการคํานวณสําหรับการแคชข้อมูลIsRetry
: การระบุค่าเชิงตรรกะนี้เป็นค่าจริง จะละเว้นการตอบกลับใด ๆ ที่มีอยู่ในแคชเมื่อดึงข้อมูลManualStatusHandling
: การระบุค่านี้เป็นรายการ จะป้องกันไม่ให้มีการจัดการภายในระบบใด ๆ สําหรับคําขอ HTTP ที่มีการตอบสนองหนึ่งในรหัสสถานะเหล่านี้RelativePath
: การระบุค่านี้เป็นข้อความ จะผนวกเข้ากับ URL ฐานก่อนทําการร้องขอContent
: การระบุค่านี้จะเปลี่ยนแปลงการร้องขอทางเว็บจาก GET เป็น POST โดยใช้ค่าของตัวเลือกดังกล่าวเป็นเนื้อหาของ POST
ระบบจะสร้างคําขอ HTTP เป็น GET (เมื่อไม่ได้ระบุเนื้อหา) หรือโพสต์ (เมื่อมีเนื้อหา) สามารถส่งคําขอ POST ได้โดยไม่ระบุชื่อเท่านั้น
ส่วนหัวของการตอบสนองของ HTTP จะพร้อมใช้งานเป็นเมตาดาต้าในผลลัพธ์ไบนารี นอกขอบเขตของบริบทตัวเชื่อมต่อข้อมูลแบบกําหนดเอง จะมีเฉพาะชุดย่อยของส่วนหัวการตอบสนองเท่านั้น (เพื่อเหตุผลด้านความปลอดภัย)
ดึงข้อมูลเนื้อหาของ"https://bing.com/search?q=Power+Query"
การใช้ ตัวเลือก RelativePath
และQuery
ตัวเลือกเหล่านี้สามารถใช้เพื่อคิวรี URL ฐานแบบคงที่แบบไดนามิก
การใช้งาน
let
searchText = "Power Query"
in
Web.Contents(
"https://www.bing.com",
[
RelativePath = "search",
Query = [q = searchText]
]
)
เอาท์พุท
binary
ดําเนินการโพสต์กับ URL ที่ส่งผ่านส่วนข้อมูล JSON ไบนารีและแยกวิเคราะห์การตอบสนองเป็น JSON
การใช้งาน
let
url = ...,
headers = [#"Content-Type" = "application/json"],
postData = Json.FromValue([x = 235.7, y = 41.53]),
response = Web.Contents(
url,
[
Headers = headers,
Content = postData
]
),
jsonResponse = Json.Document(response)
in
jsonResponse
เอาท์พุท
table
เชื่อมต่อไปยัง URL ที่ปลอดภัยที่ยอมรับคีย์การรับรองความถูกต้องเป็นส่วนหนึ่งของสตริงแบบสอบถาม แทนที่จะเข้ารหัสลับคีย์ใน M (ซึ่งอาจก่อให้เกิดความเสี่ยงด้านความปลอดภัย) คีย์สามารถให้ได้อย่างปลอดภัยโดยการระบุชื่อ (ไม่ใช่ค่า) ใน M เลือกการรับรองความถูกต้อง API เว็บ และป้อนค่าคีย์เป็นส่วนหนึ่งของข้อมูลประจําตัวของ API เว็บ เมื่อใช้ด้วยวิธีนี้ ตัวอย่างต่อไปนี้จะสร้างคําขอ ไปยัง"https://contoso.com/api/customers/get?api_key=******"
การใช้งาน
Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])
เอาท์พุท
binary
การจัดการรหัสสถานะด้วย Web.Contents ในตัวเชื่อมต่อแบบกําหนดเอง