Web.Contents
Syntaksi
Web.Contents(url as text, optional options as nullable record) as binary
Tietoja
Palauttaa kohteesta url
ladatun sisällön binaarimuodossa. Valinnainen tietueparametri options
voidaan antaa määrittämään lisäominaisuuksia. Tietue voi sisältää seuraavat kentät:
Query
: lisää kyselyparametrit ohjelmallisesti URL-osoitteeseen niin, ettei ohjausmerkkejä tarvitse huolehtia.ApiKeyName
: Jos kohdesivustolla on käsitys API-avaimesta, tämän parametrin avulla voidaan määrittää URL-osoitteessa käytettävän avainparametrin nimi (ei arvo). Todellinen avainarvo annetaan tunnistetiedoissa.Headers
: tämän arvon määrittäminen tietueena antaa lisäotsikot HTTP-pyynnölle.Timeout
: tämän arvon määrittäminen kestona muuttaa HTTP-pyynnön aikakatkaisun. Oletusarvo on 100 sekuntia.ExcludedFromCacheKey
: tämän arvon määrittäminen luettelona jättää pois nämä HTTP-otsikkoavaimet tietojen välimuistiin tallentamisen laskutoimituksesta.IsRetry
: tämän loogisen arvon määrittäminen arvona tosi ohittaa välimuistissa olevan mahdollisen vastauksen tietoja noudettaessa.ManualStatusHandling
: tämän arvon määrittäminen luettelona estää sellaisten HTTP-pyyntöjen sisäiset käsittelyt, joiden vastauksella on jokin näistä tilakoodeista.RelativePath
: tämän arvon määrittäminen tekstinä lisää sen URL-perusosoitteeseen ennen pyynnön tekemistä.Content
: Tämän arvon määrittäminen muuttaa GET-verkkopyynnön POST-pyynnöksi käyttäen asetuksen arvoa POST-pyynnön sisältönä.
HTTP-pyyntö tehdään joko GET-muodossa (kun sisältöä ei ole määritetty) tai POST-pyynnönä (kun sisältöä on). POST-pyyntöjä voidaan tehdä vain nimettömästi.
HTTP-vastauksen otsikot ovat käytettävissä binaarituloksen metatietoina. Mukautetun tietoyhdistimen kontekstin ulkopuolella käytettävissä on vain vastausotsikoiden alijoukko (suojaussyistä).
Esimerkki 1
Nouda kohteen "https://bing.com/search?q=Power+Query"
sisältö -ja Query
-RelativePath
asetusten avulla. Näiden asetusten avulla voidaan tehdä dynaamisesti kysely staattisesta URL-osoitteesta.
Käyttö
let
searchText = "Power Query"
in
Web.Contents(
"https://www.bing.com",
[
RelativePath = "search",
Query = [q = searchText]
]
)
Tuloste
binary
Esimerkki 2
Suorita URL-osoitteen postaus, välitä binaarinen JSON-hyötykuorma ja jäsentää vastauksen JSON-muotoon.
Käyttö
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
Tuloste
table
Esimerkki 3
Näyttöyhteys suojattuun URL-osoitteeseen, joka hyväksyy todennusavaimen osana sen kyselymerkkijonoa. Sen sijaan, että salaista avainta koodattaisiin M:ssä (jolloin kyseessä olisi tietoturvariski), avain voidaan antaa turvallisesti antamalla sen nimi (ei sen arvo) M:ssä, valitsemalla WWW-ohjelmointirajapinnan todennus ja antamalla avainarvo osana WWW-ohjelmointirajapinnan tunnistetietoja. Kun sitä käytetään tällä tavalla, seuraava esimerkki luo pyynnön kohteeseen "https://contoso.com/api/customers/get?api_key=******"
.
Käyttö
Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])
Tuloste
binary
Lisätietoja
Tilakoodin käsittely Web.Contentsin kanssa mukautetuissa liittimillä