Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
This is the function that I've defined, I've removed the token and the directory name for security purposes:
let gettoken=() => let JWT="<my_token>", Data= Web.Contents("https://api.github.com/app/installations/<id>/access_tokens", [ Headers=[ #"Accept"="application/vnd.github+json", #"Authorization"="Bearer" & JWT, #"X-GitHub-Api-Version"="2022-11-28", #"Content-Type"="application/x-www-form-urlencoded" ]]) ,token=Text.FromBinary(Json.Document(Data[token])) in token in gettoken
No syntax errors, but when I run it...
An error occurred in the ‘get_token’ query. Expression.Error: We cannot apply field access to the type Binary. Details: Value=[Binary] Key=token
Any help would be really appreciated.
Solved! Go to Solution.
What's the Text.FromBinary for? Not needed.
token=Json.Document(Data)[token]
It works now! Here is the adjustment I did:
let gettoken=() =>
let
JWT="<my_token>",
vContent=Text.ToBinary("{""query"": ""{ organization(login: \""github\"") { name }}""}"),
Data= Web.Contents("https://api.github.com/app/installations/<id>/access_tokens",
[
Headers=[
#"Accept"="application/vnd.github+json",
#"Authorization"="Bearer " & JWT,
#"X-GitHub-Api-Version"="2022-11-28",
#"Content-Type"="application/x-www-form-urlencoded"
],Content=vContent])
,token=Json.Document(Data)[token]
in
token
in gettoken
What's the Text.FromBinary for? Not needed.
token=Json.Document(Data)[token]
Thank you @lbendlin!
That worked, I have one more doubt...I'm getting the following error
An error occurred in the ‘get_token’ query. Expression.Error: The 'Authorization' header is only supported when connecting anonymously. These headers can be used with all authentication types: Accept, Accept-Charset, Accept-Encoding, Accept-Language, Cache-Control, Content-Type, If-Modified-Since, Prefer, Range, Referer
However, if I select to login anonymously... it wants my credentials:
My code:
let gettoken=() => let JWT="<my_token>", Data= Web.Contents("https://api.github.com/app/installations/<id>/access_tokens", [ Headers=[ #"Accept"="application/vnd.github+json", #"Authorization"="Bearer" & JWT, #"X-GitHub-Api-Version"="2022-11-28", #"Content-Type"="application/x-www-form-urlencoded" ]]) ,token=Json.Document(Data)[token] in token in gettoken
If needed I can open another post.
Have you considered using the github connector in Power Query?