Jaa


Web.Contents

Syntaksi

 
Web.Contents(url as text, optional options as nullable record) as binary

Noin

Palauttaa 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ää kyselyparametreja ohjelmallisesti URL-osoitteeseen niin, ettei ohjauskopiosta 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 "https://bing.com/search?q=Power+Query" sisältö käyttämällä RelativePath- ja Query -asetuksia. 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]
        ]
    )

Output

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

Output

table

Esimerkki 3

Muodosta 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 "https://contoso.com/api/customers/get?api_key=******".

käyttö

Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])

Output

binary

Lisätietoja

Tilakoodin käsittely Web.Contents avulla mukautettujen liittimien