コード例 #1
0
        public async Task <Dictionary <string, string> > GetAllResports()
        {
            ODataResponseListWorkspace odataWorkspaces = await RetrieveAllWorkspaces();

            IList <Workspace>           workspaces = odataWorkspaces.Value;
            Dictionary <string, string> dict       = new Dictionary <string, string>(workspaces.Count);

            using (var client = CreateClient())
            {
                foreach (Workspace item in workspaces)
                {
                    ODataResponseListDataset odataSet = await client.Datasets.GetDatasetsAsync(WorkspaceCollectionName, item.WorkspaceId);

                    if (odataSet.Value.Count == 0)
                    {
                        continue;
                    }
                    List <string> list = new List <string>(odataSet.Value.Count);
                    foreach (Dataset set in odataSet.Value)
                    {
                        list.Add(string.Format("{0} {1}", set.Name, set.Id));
                    }
                    dict.Add(item.WorkspaceId, string.Join(",", list));
                }
            }
            return(dict);
        }
コード例 #2
0
        /// <summary>
        /// Lists the datasets that are published to a given workspace.
        /// </summary>
        /// <param name="workspaceCollectionName">The Power BI workspace collection name</param>
        /// <param name="workspaceId">The target Power BI workspace id</param>
        /// <returns></returns>
        static async Task <IList <Dataset> > ListDatasets(string workspaceCollectionName, string workspaceId)
        {
            using (var client = await CreateClient())
            {
                ODataResponseListDataset response = await client.Datasets.GetDatasetsAsync(workspaceCollectionName, workspaceId);

                return(response.Value);
            }
        }
コード例 #3
0
        /// <summary>
        /// Lists the datasets that are published to a given workspace.
        /// </summary>
        /// <param name="workspaceCollectionName">The Power BI workspace collection name</param>
        /// <param name="workspaceId">The target Power BI workspace id</param>
        /// <returns></returns>
        static async Task ListDatasets(string workspaceCollectionName, string workspaceId)
        {
            using (var client = await CreateClient())
            {
                ODataResponseListDataset response = await client.Datasets.GetDatasetsAsync(workspaceCollectionName, workspaceId);

                foreach (Dataset d in response.Value)
                {
                    Console.WriteLine("{0}:  {1}", d.Name, d.Id);
                }
            }
        }
コード例 #4
0
        public static async Task <IEnumerable <Dataset> > GetDatasetsByAppWorkspaceAsync(string workspaceId)
        {
            using (PowerBIClient client = await CreateClient())
            {
                ODataResponseListDataset response = await client.Datasets.GetDatasetsInGroupAsync(workspaceId);

                ODataResponseListGatewayDatasource response2 = await client.Datasets.GetGatewayDatasourcesInGroupAsync(workspaceId, response.Value[0].Id);

                ODataResponseListDatasource response3 = await client.Datasets.GetDatasourcesInGroupAsync(workspaceId, response.Value[0].Id);;

                return(response.Value);
            }
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: angie-markov/CityPlusIO
        static async Task DeleteAllDatasets(string workspaceCollectionName, string workspaceId)
        {
            using (var client = await CreateClient())
            {
                ODataResponseListDataset response = await client.Datasets.GetDatasetsAsync(workspaceCollectionName, workspaceId);

                if (response.Value.Any())
                {
                    foreach (Dataset d in response.Value)
                    {
                        await client.Datasets.DeleteDatasetByIdAsync(workspaceCollectionName, workspaceId, d.Id);

                        Console.WriteLine("{0}:  {1}", d.Name, d.Id);
                    }
                }
                else
                {
                    Console.WriteLine("No Datasets found in this workspace");
                }
            }
        }
コード例 #6
0
        static void Main(string[] args)
        {
            try
            {
                // Create a user password cradentials.
                credential = new UserPasswordCredential(username, Secrets.Password);

                // Authenticate using created credentials
                Authorize().Wait();

                using (var client = new PowerBIClient(new Uri(apiUrl), tokenCredentials))
                {
                    EmbedToken embedToken = client.Reports.GenerateTokenInGroup(groupId, "<REPORT ID>", new GenerateTokenRequest(accessLevel: "View", datasetId: "<DATASET ID>"));

                    Report report = client.Reports.GetReportInGroup(groupId, "<REPORT ID>");

                    #region Output Embed Token
                    Console.WriteLine("\r*** EMBED TOKEN ***\r");

                    Console.Write("Report Id: ");

                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine("<REPORT ID>");
                    Console.ResetColor();

                    Console.Write("Report Embed Url: ");

                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine(report.EmbedUrl);
                    Console.ResetColor();

                    Console.WriteLine("Embed Token Expiration: ");

                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine(embedToken.Expiration.Value.ToString());
                    Console.ResetColor();


                    Console.WriteLine("Report Embed Token: ");
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine(embedToken.Token);
                    Console.ResetColor();
                    #endregion

                    #region Output Datasets
                    Console.WriteLine("\r*** DATASETS ***\r");

                    // List of Datasets
                    // This method calls for items in a Group/App Workspace. To get a list of items within your "My Workspace"
                    // call GetDatasets()
                    ODataResponseListDataset datasetList = client.Datasets.GetDatasetsInGroup(groupId);

                    foreach (Dataset ds in datasetList.Value)
                    {
                        Console.WriteLine(ds.Id + " | " + ds.Name);
                    }
                    #endregion

                    #region Output Reports
                    Console.WriteLine("\r*** REPORTS ***\r");

                    // List of reports
                    // This method calls for items in a Group/App Workspace. To get a list of items within your "My Workspace"
                    // call GetReports()
                    ODataResponseListReport reportList = client.Reports.GetReportsInGroup(groupId);

                    foreach (Report rpt in reportList.Value)
                    {
                        Console.WriteLine(rpt.Id + " | " + rpt.Name + " | DatasetID = " + rpt.DatasetId);
                    }
                    #endregion

                    #region Output Dashboards
                    Console.WriteLine("\r*** DASHBOARDS ***\r");

                    // List of reports
                    // This method calls for items in a Group/App Workspace. To get a list of items within your "My Workspace"
                    // call GetReports()
                    ODataResponseListDashboard dashboards = client.Dashboards.GetDashboardsInGroup(groupId);

                    foreach (Dashboard db in dashboards.Value)
                    {
                        Console.WriteLine(db.Id + " | " + db.DisplayName);
                    }
                    #endregion

                    #region Output Gateways
                    Console.WriteLine("\r*** Gateways ***\r");

                    ODataResponseListGateway gateways = client.Gateways.GetGateways();

                    Console.WriteLine(gateways.Value[0].Name);

                    //foreach (Gateway g in gateways)
                    //{
                    //    Console.WriteLine(g.Name + " | " + g.GatewayStatus);
                    //}
                    #endregion
                }
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ResetColor();
            }
        }