Jaa


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 optionsvoidaan 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 -RelativePathasetusten 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ä