Please note: All new registrants to the Panopto Community Forum must be approved by a forum moderator or admin. As such, if you navigate to a feature that is members-only, you may receive an error page if your registration has not yet been approved. We apologize for any inconvenience and are approving new members as quickly as possible.
Pulling data into Power BI using Panopto APIs
Hello Forum!
Has anyone out there had any success pulling data in to PowerBI using the Panopto APIs?
I've been puzzling over it for a bit and think I have all the pieces of the jigsaw but I have no idea what the final picture looks like so my pieces aren't fitting together very well.
I've set up my API client, have what I believe is my Base64 encoded API key but can't get the final step of configuring PowerBI right.
Any pointers would be greatly appreciated
Tagged:
0
Answers
Hi Neil,
Are you pulling data from REST or SOAP API?
Thanks,
Adis
Trying to use the REST API. Failing miserably at the moment though!!
Hi Neil,
Can you share more details so I can try to understand what could be the issue.
So I assume you did the following:
Thanks,
Adis
Hi Adis,
Apologies for the delay in responding but I'm just back in the office having been ill.
I've made some progress! I've been able to access the rest APIs using postman and creating a token there. I have then used the token in my power BI which works. Obviously not a suitable ongoing solution as each time the token expires I have to go back in to Postman to create another. The code I've used in Power BI that works is below. The issue I'm having is when i base64 encode (using Base64 Encode and Decode - Online) the <ClientAPIKey>:<ClientServiceValue> as per Panopto's instructions and the change my code in PowerBI I can't get the PowerBI side to work. I've tried all different ways to write the code in Power BI but none have worked. I don't know where I'm going wrong.
let
baseUrl = "https://cambridgelectures.cloud.panopto.eu/Panopto/api/v1/sessions/inProgress/recording",
accessToken = "access token created in Postman'"
headers = [Authorization = "Bearer " & accessToken],
response = Web.Contents(baseUrl, [Headers=headers]),
jsonResponse = Json.Document(response),
#"Converted to Table" = Record.ToTable(jsonResponse),
#"Expanded Value" = Table.ExpandListColumn(#"Converted to Table", "Value"),
#"Expanded Value1" = Table.ExpandRecordColumn(#"Expanded Value", "Value", {"Description", "StartTime", "Duration", "MostRecentViewPosition", "CreatedBy", "Urls", "Folder", "FolderDetails", "PercentCompleted", "Id", "Name"}, {"Value.Description", "Value.StartTime", "Value.Duration", "Value.MostRecentViewPosition", "Value.CreatedBy", "Value.Urls", "Value.Folder", "Value.FolderDetails", "Value.PercentCompleted", "Value.Id", "Value.Name"})in
#"Expanded Value1"