Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
heriberto_mb
Regular Visitor

PowerBI Power Query "We cannot apply field access to the type Binary"

I need a hand trying to find why I am receiving "We cannot apply field access to the type Binary "

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.

1 ACCEPTED SOLUTION
lbendlin
Super User
Super User

What's the Text.FromBinary  for?  Not needed.

 

token=Json.Document(Data)[token]

View solution in original post

4 REPLIES 4
heriberto_mb
Regular Visitor

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

 

lbendlin
Super User
Super User

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:

heriberto_mb_0-1714480535621.png

 

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?

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

Top Solution Authors
Top Kudoed Authors