Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.
Hi all
I'm writing to seek assistance with connecting to the HiBOB HR system via its REST API. I'm currently attempting to modify the existing code to utilize the 'Authorization as Headers' method, but I'm encountering error messages.
Initially, I was using the following code with Basic authentication which works great:
The credentials are written here:
But I want to change the code in the advanced editor to this:
I get an error message as shown above. I then tried to change the connection to Anonymous:
I then get this message:
My ultimate goal is to create a function that iterates through a column of different IDs, as depicted below:
To achieve this, I need to incorporate the Authorization as Headers method within the code. However, the current implementation is causing errors. Is there a way to tweak the code inside the advanced editor? Maybe it's this part of the code that doesn't work: Headers = [Authorization="Basic XXX-0000:API_wise:x000xxx000000x"].
Could you please advise on any potential modifications to the code within the advanced editor to resolve these authentication errors and enable the desired functionality?
Thank you for your time and consideration.
I have found that this code will give the correct connection:
let
apiKey = "x000xxx000000x", username = "XXX-0000",
password = "x000xxx000000x", auth = "Basic " & Binary.ToText(Text.ToBinary(username & ":" & password), BinaryEncoding.Base64),
apiUrl = "https://api.hibob.com", query = "/v1/people",
url = apiUrl & query, headers = [ #"Authorization" = auth, #"APIKey" = apiKey ], source = Json.Document(Web.Contents(url, [Headers=headers]))
in
source
But how can I incorporate that code when creating my function using the relative path as shown below?:
(id as text)=>
let
Source = Json.Document(Web.Contents("https://api.hibob.com",
[
RelativePath = "/v1/people/" & id & "/employment",
Headers = [Authorization="Basic XXX-0000:API_wise:x000xxx000000x"]
])),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
in
#"Converted to Table"
Solved! Go to Solution.
Hi,
After thorough testing, I determined that this method is the most effective, as it consistently produces the desired outcome.
(id as text)=>
let
apiKey = "x000xxx000000x", username = "Basic XXX-0000",
password = "x000xxx000000x",
auth = "Basic " & Binary.ToText(Text.ToBinary(username & ":" & password), BinaryEncoding.Base64),
apiUrl = "https://api.hibob.com",
query = "/v1/people/id/employment",
url = apiUrl,
headers = [ #"Authorization" = auth, #"APIKey" = apiKey ],
Source = Json.Document(Web.Contents(url,
[
RelativePath = "/v1/people/" & id & "/employment",
Headers=[#"Authorization" = auth, #"APIKey" = apiKey ]
]))
in
Source
Hi,
After thorough testing, I determined that this method is the most effective, as it consistently produces the desired outcome.
(id as text)=>
let
apiKey = "x000xxx000000x", username = "Basic XXX-0000",
password = "x000xxx000000x",
auth = "Basic " & Binary.ToText(Text.ToBinary(username & ":" & password), BinaryEncoding.Base64),
apiUrl = "https://api.hibob.com",
query = "/v1/people/id/employment",
url = apiUrl,
headers = [ #"Authorization" = auth, #"APIKey" = apiKey ],
Source = Json.Document(Web.Contents(url,
[
RelativePath = "/v1/people/" & id & "/employment",
Headers=[#"Authorization" = auth, #"APIKey" = apiKey ]
]))
in
Source