简介

在将磁贴集成到应用的步骤 2获取 Power BI 仪表板)中,你将获取 Power BI 仪表板。 在此步骤中,你将从仪表板获取 Power BI 磁贴。

要获取 Power BI 磁贴,需要身份验证访问令牌。 若要了解如何获取访问令牌,请参阅步骤 2:获取 Power BI 仪表板中的 身份验证访问令牌。 使用访问令牌Azure AD 进行身份验证并获得对 Power BI 磁贴的访问权限。

以下介绍获取 Power BI 磁贴的步骤。

使用访问令牌获取 Power BI 磁贴

将磁贴集成到应用演练的步骤 2 中,你将获取访问令牌以获取仪表板。 还可使用此访问令牌获取磁贴。 通过获取磁贴 操作获取磁贴,该操作将在仪表板中返回磁帖列表。 下面是获取磁贴的 C# 方法。 拥有磁贴后,即可将该磁贴加载到 IFrame。 请参阅将 Power BI 磁贴加载到 IFrame

获取磁贴

//Get a tile from a dashboard. In this sample, you get the first tile.
protected void GetTile(string dashboardId, int index)
{
    //Configure tiles request
    System.Net.WebRequest request = System.Net.WebRequest.Create(
        String.Format("{0}Dashboards/{1}/Tiles",
        baseUri,
        dashboardId)) as System.Net.HttpWebRequest;

    request.Method = "GET";
    request.ContentLength = 0;
    request.Headers.Add("Authorization", String.Format("Bearer {0}", accessToken.Value));

    //Get tiles response from request.GetResponse()
    using (var response = request.GetResponse() as System.Net.HttpWebResponse)
    {
        //Get reader from response stream
        using (var reader = new System.IO.StreamReader(response.GetResponseStream()))
        {
            //Deserialize JSON string
            PBITiles tiles = JsonConvert.DeserializeObject<PBITiles>(reader.ReadToEnd());

            //Sample assumes at least one Dashboard with one Tile.
            //You could write an app that lists all tiles in a dashboard
            if (tiles.value.Length > 0)
                tileEmbedUrl.Text = tiles.value[index].embedUrl;
        }
    }
}

//Power BI Tiles used to deserialize the Get Tiles response.
public class PBITiles
{
    public PBITile[] value { get; set; }
}
public class PBITile
{
    public string id { get; set; }
    public string title { get; set; }
    public string embedUrl { get; set; }
}

下一步

要将磁贴集成到应用,就要将磁贴加载到 IFrame 在下一步,你将学习如何将磁贴加载到 IFrame

下一步 >

另请参阅

注册 Power BI
将磁贴集成到应用演练
集成磁贴示例
配置集成磁贴示例
获取仪表板操作
获取磁贴操作
步骤 4:将 Power BI 磁贴加载到 IFrame
更多问题? 尝试参与 Power BI 社区