Forum Discussion
Alex_Roughag
2 years agoRegular Visitor
Getting SharePoint activity report into Power Bi
Hello, I'm trying to load a SharePoint Site Usage Detail (https://graph.microsoft.com/v1.0/reports/getSharePointSiteUsageDetail(period='D180')) report with OData feed into Power Bi, but I'm getting ...
- Anonymous2 years ago
Hi Alex_Roughag ,
Have a good day. I made a sample for you.
1\ Registe app in Entra ID and get client id, token link.
2\ Set permission
3\ Add secret and copy it
4\ Create a blank query in BI desktop
let //POST Request url = "<token link>", body = [ scope = https://graph.microsoft.com/.default, client_id = "<client id>", client_secret="<secret value>", grant_type = "client_credentials" ], GetJson = Json.Document( Web.Contents( url, [ Headers=[ Accept="application/json", #"Content-Type"="application/x-www-form-urlencoded" ], Content= Text.ToBinary(Uri.BuildQueryString(body)) ] ) ), access_token = GetJson[access_token], url2= https://graph.microsoft.com/v1.0, Result= Csv.Document(Web.Contents(url2, [RelativePath="/reports/getSharePointSiteUsageDetail(period='D180')", Headers=[Accept="*/*", authorization="Bearer "&access_token]]),[Delimiter=",", Columns=15, Encoding=65001, QuoteStyle=QuoteStyle.None]), #"Promoted Headers" = Table.PromoteHeaders(Result, [PromoteAllScalars=true]), #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Report Refresh Date", type date}, {"Site Id", type text}, {"Site URL", type text}, {"Owner Display Name", type text}, {"Is Deleted", type logical}, {"Last Activity Date", type date}, {"File Count", Int64.Type}, {"Active File Count", Int64.Type}, {"Page View Count", Int64.Type}, {"Visited Page Count", Int64.Type}, {"Storage Used (Byte)", Int64.Type}, {"Storage Allocated (Byte)", Int64.Type}, {"Root Web Template", type text}, {"Owner Principal Name", type text}, {"Report Period", Int64.Type}}) in #"Changed Type"5 Upload to service and set certification.
Best Regards,
Wearsky
Anonymous
2 years agoNot applicable
Hi Alex_Roughag ,
Have a good day. I made a sample for you.
1\ Registe app in Entra ID and get client id, token link.
2\ Set permission
3\ Add secret and copy it
4\ Create a blank query in BI desktop
let
//POST Request
url = "<token link>",
body = [
scope = https://graph.microsoft.com/.default,
client_id = "<client id>",
client_secret="<secret value>",
grant_type = "client_credentials"
],
GetJson =
Json.Document(
Web.Contents(
url, [
Headers=[
Accept="application/json",
#"Content-Type"="application/x-www-form-urlencoded"
],
Content= Text.ToBinary(Uri.BuildQueryString(body))
]
)
),
access_token = GetJson[access_token],
url2= https://graph.microsoft.com/v1.0,
Result= Csv.Document(Web.Contents(url2, [RelativePath="/reports/getSharePointSiteUsageDetail(period='D180')", Headers=[Accept="*/*", authorization="Bearer "&access_token]]),[Delimiter=",", Columns=15, Encoding=65001, QuoteStyle=QuoteStyle.None]),
#"Promoted Headers" = Table.PromoteHeaders(Result, [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Report Refresh Date", type date}, {"Site Id", type text}, {"Site URL", type text}, {"Owner Display Name", type text}, {"Is Deleted", type logical}, {"Last Activity Date", type date}, {"File Count", Int64.Type}, {"Active File Count", Int64.Type}, {"Page View Count", Int64.Type}, {"Visited Page Count", Int64.Type}, {"Storage Used (Byte)", Int64.Type}, {"Storage Allocated (Byte)", Int64.Type}, {"Root Web Template", type text}, {"Owner Principal Name", type text}, {"Report Period", Int64.Type}})
in
#"Changed Type"
5 Upload to service and set certification.
Best Regards,
Wearsky