Supplies are limited. Contact info@espc.tech right away to save your spot before the conference sells out.
Get your discountScore big with last-minute savings on the final tickets to FabCon Vienna. Secure your discount
Currently I have an issue with Refreshing the dataset that I uploaded to the Power BI web service.
Please note that it works and able to refresh the data totally fine in Power BI Desktop.
The issue is in the data source connected to Odata Feed
I wanted to get all of my Microsoft Planner task data with this method, and based on a few reference requires me to use Microsoft Graph Explorer.
I am utilizing my organization account and have a Power BI pro license. The following error message is returned when attempting to refresh in Power BI service:
I attempted to re-establish the credentials but the same error persisted. Other sources such as SharePoint and dataflow do not exhibit any issues and refresh properly. The error only surfaces from the Odata Feed connection where I utilized Microsoft Graph Explorer to retrieve the task data in Microsoft Planner.
I tried connecting the data source (OData Feed) to a Power BI dataflow, also returns the same error.
Any assistance would be highly appreciated, as I have spent the entire day trying to resolve this issue without any progress.
I have already updated the credentials in Power BI Service to match those used in Power BI Desktop. As such, both sets of credentials are now identical.
Hi, @ChristianEvan33
Can you try to refresh the dataset if it can be refreshed now?
If it sitll not work , can you show the error code it returns?
Thank you for your time and sharing, and thank you for your support and understanding of PowerBI!
Best Regards,
Aniya Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
The error was exactly what I first posted in the beginning of this post. I already aligned the credentials between PBI desktop & PBI service since the beginning I created this post.
Processing error: | The credentials provided for the OData source are invalid. (Source at https://graph.microsoft.com/v1.0/planner/plans/_pmTMWQX8U2g4M3iG3bVVckAC2OE.) |
Cluster URI: | WABI-SOUTH-EAST-ASIA-B-PRIMARY-redirect.analysis.windows.net |
Activity ID: | ec513eba-0262-4b2e-a333-75581081d1dd |
Request ID: | 97e8c9a2-f52f-a4a7-832a-efbb6825358a |
Time: | 2023-03-08 02:35:50Z |
Hi @AlinaYakymchuk,
Sorry for the late reply. Actually now still no significant progress. I discussed with my company's IT team that handles office apps and they already contact directly to the Microsoft Engineers.
The engineers provided a solution to directly embed the credentials in Power Query's M-code. This might also be possible to create a parameter so that changing the credentials will be much easier in the future.
My issue with this solution is that actually my company blocks direct authentication from the PBI Service to the planner. It requires microsoft authenticator with two-factor authentication.
I do not know with the condition of your company but you can try using this solution for your side.
But I think you need to talk with your IT team to help on this too since there might be a lot of things to work on together.
let
token_uri = https://login.microsoftonline.com/ & "your tenant id" & "/oauth2/v2.0/token",
scope= https://graph.microsoft.com/.default,
tokenResponse = Json.Document(Web.Contents(token_uri,
[
Content = Text.ToBinary(Uri.BuildQueryString(
[
client_id = "your application id",
scope = scope,
grant_type = "client_credentials",
client_secret = "your application secret"
]
)),
Headers = [Accept = "application/json"], ManualStatusHandling = {400}
])),
access_token = tokenResponse[access_token],
Source = OData.Feed(https://graph.microsoft.com/v1.0/planner/plans/1-Kv1mpx60WDf1gghCycyAgAHVRt, [ Authorization = "Bearer " & access_token ], [ExcludedFromCacheKey={"Authorization"}, ODataVersion=4, Implementation="2.0"]),
#"Converted to Table" = Record.ToTable(Source)
in
#"Converted to Table"
----------------------------------------------------------------------------------------------------------
Or you can register another App as below (add Delegated permissions) and update the Power Query(replace highlighted content), to check if you can only get data from the plan which the account has permission to access.
let
token_uri = https://login.microsoftonline.com/ & "your tenant id" & "/oauth2/v2.0/token",
scope= https://graph.microsoft.com/.default,
tokenResponse = Json.Document(Web.Contents(token_uri,
[
Content = Text.ToBinary(Uri.BuildQueryString(
[
client_id = "your application id",
scope = scope,
grant_type = "password",
username = “your user account”
password = "your account password",
client_secret = " your application secret "
]
)),
Headers = [Accept="application/json"]
])),
access_token = tokenResponse[access_token],
Source = OData.Feed(“https://graph.microsoft.com/v1.0/planner/plans/MQ3EoFzvz0OblZ3MNtZZ2ggAEUmm”, [ Authorization = "Bearer " & access_token ], [ExcludedFromCacheKey={"Authorization"}, ODataVersion=4, Implementation="2.0"])
in
Source