/// <summary> /// Print a list of datasets to user. /// </summary> /// <param name="datasets"></param> /// <returns>True if datasets exist, and false otherwise.</returns> private static bool PrintDatasets(IList <Dataset> datasets) { if (datasets == null || !datasets.Any()) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("No datasets found in Workspace {0} from WorkspaceCollection {1}", workspaceId, workspaceCollectionName); return(false); } Console.WriteLine("Existing datasets:"); for (int i = 0; i < datasets.Count; i++) { ConsoleHelper.WriteColoredStringLine(string.Format("{0} dataset name:{1}, Id:{2}", i + 1, datasets[i].Name, datasets[i].Id), ConsoleColor.Green, 2); } Console.WriteLine(); return(true); }
static async Task GetEmbedInfo() { EnsureBasicParams(EnsureExtras.WorkspaceCollection | EnsureExtras.WorspaceId); int?index = -1; IList <Report> reports = await GetReports(workspaceCollectionName, workspaceId); if (reports == null || !reports.Any()) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("No report found in Workspace {0} from WorkspaceCollection {1}", workspaceId, workspaceCollectionName); return; } Console.WriteLine("Existing reports:"); for (int i = 0; i < reports.Count; i++) { ConsoleHelper.WriteColoredStringLine(string.Format("{0} report name:{1}, Id:{2}", i + 1, reports[i].Name, reports[i].Id), ConsoleColor.Green, 2); } Console.WriteLine(); index = userInput.EnsureIntParam(index, "Index of report to use (-1 for last in list)"); if (!index.HasValue) { index = -1; } if (!index.HasValue || index.Value <= 0 || index.Value > reports.Count) { index = reports.Count; } Report report = reports[index.Value - 1]; var embedToken = PowerBIToken.CreateReportEmbedToken(workspaceCollectionName, workspaceId, report.Id); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("Embed Url: {0}", report.EmbedUrl); Console.WriteLine("Embed Token: {0}", embedToken.Generate(accessKeys.Key1)); var embedToken2 = PowerBIToken.CreateReportEmbedToken(workspaceCollectionName, workspaceId, report.Id); embedToken2.Claims.Add(new System.Security.Claims.Claim("type", "embed")); Console.WriteLine("Fixed Token: {0}", embedToken2.Generate(accessKeys.Key1)); }