Hvordan kobler jeg til HRConnect API via Power Query?

Endret Wed, 7 Okt ved 12:38 PM

Bruk Power Query i Excel eller Power BI til å hente data fra HRConnect API med SimplAuth-tokenautentisering.

Dette eksempelet viser hvordan du kobler til HRConnect API via Power Query i Excel eller Power BI med SimplAuth-tokenautentisering.

For detaljert Swagger-dokumentasjon for HRConnect API, se artikkelen "Simployer Classic HRConnect API". For dokumentasjon om SimplAuth API-autentisering, se artikkelen om SimplAuth.


Forutsetninger for å koble til HRConnect API

Du må ha opprettet en klient i Admin Center for å generere SimplAuth-autorisasjonstokens som Power Query bruker til å hente data fra HRConnect API.


Koble til HRConnect API via Power Query

Eksempelet nedenfor bruker Excel Power Query og HRConnect API. SimplAuth-tokens har en levetid på én time. For å unngå å fornye tokenet manuelt hver time kan du konfigurere integrasjonen til å generere et nytt token ved hver dataoppdatering.

  1. Åpne Excel og gå til fanen Data.
  2. Velg Get Data (Power Query), og velg deretter Blank Query.
  3. Lim inn følgende kode. Erstatt YOUR_CLIENT_SECRET og YOUR_CLIENT_ID med din egen ClientSecret og ClientId:
let    url = "https://simplauth.simployer.com/oauth/token",    clientSecret = "YOUR_CLIENT_SECRET",    clientId = "YOUR_CLIENT_ID",    headers = [#"Content-Type" = "application/json"],    postData = Text.Combine({        "{ ""client_id"": """, clientId,        """, ""client_secret"": """, clientSecret,        """, ""audience"": ""https://hrconnect.simployer.com"",        """, ""grant_type"": ""client_credentials"" }"    }),    response = Web.Contents(        url,        [            Headers = headers,            Content = Text.ToBinary(postData)        ]    ),    jsonResponse = let        token = Record.Field(Json.Document(response), "access_token"),        responseData = Json.Document(            Web.Contents(                "https://hrconnect.simployer.com/v1/persons?page=1&pageSize=10000",                [Headers = [Authorization = token]]            )        )    in        responseData,    #"Converted to table" = Table.FromList(        jsonResponse,        Splitter.SplitByNothing(),        null,        null,        ExtraValues.Error    ),    #"Expanded Column1" = Table.ExpandRecordColumn(        #"Converted to table",        "Column1",        {"id", "firstName", "lastName", "nickName", "birthdate", "seniorityDate", "seniorityMonths", "bankAccount1", "iban1", "bankAccount2", "iban2", "bankCountry1", "bankCountry2", "sex", "nationality", "active", "affiliatedOrganizationId", "primaryPhone", "primaryEmail"},        {"id", "firstName", "lastName", "nickName", "birthdate", "seniorityDate", "seniorityMonths", "bankAccount1", "iban1", "bankAccount2", "iban2", "bankCountry1", "bankCountry2", "sex", "nationality", "active", "affiliatedOrganizationId", "primaryPhone", "primaryEmail"}    ) in    #"Expanded Column1"

Når spørringen kjører, henter Power Query persondata fra HRConnect API og returnerer de valgte feltene som en tabell.


Tillat at Power Query kombinerer data fra SimplAuth og HRConnect API

Du må kanskje gå til Options > Privacy og aktivere Allow combining data for multiple sources.

Denne innstillingen er nødvendig fordi Power Query-oppsettet bruker to HTTP-tilkoblinger:

  • Én tilkobling henter SimplAuth-tokenet
  • Én tilkobling henter data fra HRConnect API med tokenet

Var denne artikkelen nyttig?

Så bra!

Takk for din tilbakemelding

Beklager at vi ikke kunne være mer til hjelp

Takk for din tilbakemelding

Fortell oss hvordan vi kan forbedre denne artikkelen.

Velg minst én av grunnene
CAPTCHA-verifisering er obligatorisk.

Tilbakemeldingen er sendt inn

Vi setter pris på tilbakemeldingen din og vil prøve å rette på artikkelen