Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

How to connect Powerbi source with an API Odata content?

Hello! 
I´m trying to connect with an API data in Power BI.
I´m following these specific steps:

1. New Source -> Blank Query
2. Advanced Editor
3. 

let

     Source = OData.Feed("URL", null, [Headers=[#"xxxxxx" = "TOKEN"]])
in
     Source




It worked very well and I was able to connect with this source. See the image:


But when I try to select any data table, appears this error message:

 

Does someone know how to solve this problem? The message says "Token not found". But i´m including the token in the previous request... 😞 



  • Hi Anonymous 

     

    Would it be that the token you used has expired? If you return to the first Source step and click Refresh Preview, will the Source step still get all data with the same token?

     

    If the token is valid, try modifying the URL to navigate to the table directly. You can add a table name at the end of the url like "odataserviceurl/tablename".

     

    Based on my test, the two queries below give me the same result of "Categories" table. 

    let
        Source = OData.Feed("https://services.odata.org/V3/Northwind/Northwind.svc/", null, [Implementation="2.0"]),
        Categories_table = Source{[Name="Categories",Signature="table"]}[Data]
    in
        Categories_table
    let
        Source = OData.Feed("https://services.odata.org/V3/Northwind/Northwind.svc/Categories", null, [Implementation="2.0"])
    in
        Source

     

    Best Regards,
    Community Support Team _ Jing
    If this post helps, please Accept it as Solution to help other members find it.

2 Replies

  • v-jingzhang's avatar
    v-jingzhang
    Community Support

    Hi Anonymous 

     

    Would it be that the token you used has expired? If you return to the first Source step and click Refresh Preview, will the Source step still get all data with the same token?

     

    If the token is valid, try modifying the URL to navigate to the table directly. You can add a table name at the end of the url like "odataserviceurl/tablename".

     

    Based on my test, the two queries below give me the same result of "Categories" table. 

    let
        Source = OData.Feed("https://services.odata.org/V3/Northwind/Northwind.svc/", null, [Implementation="2.0"]),
        Categories_table = Source{[Name="Categories",Signature="table"]}[Data]
    in
        Categories_table
    let
        Source = OData.Feed("https://services.odata.org/V3/Northwind/Northwind.svc/Categories", null, [Implementation="2.0"])
    in
        Source

     

    Best Regards,
    Community Support Team _ Jing
    If this post helps, please Accept it as Solution to help other members find it.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Yes, the Token was valid when I refreshed the first step

      It worked perfectly the way you suggested. Thank you very much 😄