Aracılığıyla paylaş


Embed Token - Generate Token

Birden çok rapor, veri kümesi ve hedef çalışma alanı için ekleme belirteci oluşturur.

  • Raporların ve veri kümelerinin ilişkili olması gerekmez.
  • Ekleme sırasında bir raporu bir veri kümesine bağlayabilirsiniz.
  • Raporu yalnızca parametresi tarafından targetWorkspaces belirtilen çalışma alanlarında oluşturabilirsiniz.

Önemli

Bu API çağrısı yalnızca müşterileriniz için ekleme senaryosuyla ilgilidir. Bu API'yi kullanma hakkında daha fazla bilgi edinmek için bkz. Ekleme belirteci oluştururken dikkat edilmesi gerekenler.

İzinler

Gerekli Kapsam

Bir gereksinim geçerli olmadığı sürece aşağıdakilerin tümü:

  • Content.Create, GenerateTokenRequestV2 içinde bir hedef çalışma alanı belirtilirse gereklidir.
  • Report.ReadWrite.All veya Report.Read.All, GenerateTokenRequestV2 içinde bir rapor belirtilirse gereklidir.
  • GenerateTokenRequestV2'de en az bir rapor için bayrak belirtildiyse allowEdit Report.ReadWrite.All gereklidir.
  • Dataset.ReadWrite.All veya Dataset.Read.All

Sınırlamalar

  • Raporu yalnızca parametresi tarafından targetWorkspaces belirtilen çalışma alanlarında oluşturabilirsiniz.
  • Tüm raporlar ve veri kümeleri bir V2 çalışma alanında bulunmalıdır.
  • Tüm hedef çalışma alanları V2 çalışma alanları olmalıdır.
  • En fazla 50 rapor.
  • En fazla 50 veri kümesi.
  • En fazla 50 hedef çalışma alanı.
  • Azure Analysis Services veya Analysis Services şirket içi canlı bağlantı raporları için satır düzeyi güvenlik (RLS) ile ekleme belirteci oluşturma, yeniden bağlamadan sonra birkaç dakika boyunca çalışmayabilir.

POST https://api.powerbi.com/v1.0/myorg/GenerateToken

İstek Gövdesi

Name Tür Description
datasets

GenerateTokenRequestV2Dataset[]

Veri kümelerinin listesi

datasourceIdentities

DatasourceIdentity[]

Tek Sign-On (SSO) etkin veri kaynaklarına bağlanırken kullanılacak kimliklerin listesi.

identities

EffectiveIdentity[]

Satır düzeyi güvenlik kuralları için kullanılacak kimliklerin listesi

lifetimeInMinutes

integer

Belirtecin oluşturulduğu zamandan başlayarak dakika cinsinden en uzun yaşam süresi. Belirtecin sona erme süresini kısaltmak için kullanılabilir, ancak uzatmak için kullanılamaz. Değer pozitif bir tamsayı olmalıdır. Sıfır (0) ile eşdeğerdir nullve varsayılan sona erme süresini ayarlar.

reports

GenerateTokenRequestV2Report[]

Rapor listesi

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Ekleme belirtecinin kaydetmeye izin verecekleri çalışma alanlarının listesi

Yanıtlar

Name Tür Description
200 OK

EmbedToken

Tamam

Örnekler

Example of generating an embed token for a dataset and two reports example. Only one of the reports can be edited.
Example of generating an embed token for a paginated report which has a Power BI dataset as a datasource. The ID of the dataset must be specified in the request. The report and dataset can each have its own identity
Example of generating an embed token for a paginated report with a data source identity
Example of generating an embed token for a paginated report with multiple data source identities and a single identity blob
Example of generating an embed token for a paginated report with multiple data source identities and multiple identity blobs
Example of generating an embed token for a Power BI report with a dataset which is connected with DirectQuery to another Power BI dataset. All related dataset IDs must be specified in the request with 'xmlaPermissions' set to 'ReadOnly'. IdentityBlobs for all SSO-enabled data sources must be provided in the 'datasourceIdentities' array
Example of generating an embed token for a Power BI report with a paginated visual. The paginated report ID ('...4850') of the paginated visual must be included in the 'reports' section of the request.
Example of generating an embed token for two datasets with RLS identities and a single report with read-only permissions. The embed token lets you view the report, which is dynamically bound to two different datasets.
Example of generating an embed token that expires no later than ten minutes from the API call

Example of generating an embed token for a dataset and two reports example. Only one of the reports can be edited.

Sample Request

POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
  "datasets": [
    {
      "id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
    }
  ],
  "reports": [
    {
      "allowEdit": true,
      "id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
    },
    {
      "id": "759908bb-ead8-4a43-9645-7ffbf921c68d"
    }
  ]
}

Sample Response

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2018-07-29T17:58:19Z"
}

Example of generating an embed token for a paginated report which has a Power BI dataset as a datasource. The ID of the dataset must be specified in the request. The report and dataset can each have its own identity

Sample Request

POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
  "datasets": [
    {
      "id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
      "xmlaPermissions": "ReadOnly"
    }
  ],
  "reports": [
    {
      "id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
    }
  ],
  "identities": [
    {
      "username": "john@contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    },
    {
      "username": "john@contoso.com",
      "reports": [
        "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
      ]
    }
  ]
}

Sample Response

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2028-07-29T17:58:19Z"
}

Example of generating an embed token for a paginated report with a data source identity

Sample Request

POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
  "reports": [
    {
      "id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
    }
  ],
  "datasourceIdentities": [
    {
      "datasources": [
        {
          "datasourceType": "Sql",
          "connectionDetails": {
            "server": "New-Sql-Server",
            "database": "New-Sql-Database"
          }
        }
      ],
      "identityBlob": "eyJ0eX....AAA="
    }
  ]
}

Sample Response

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2028-07-29T17:58:19Z"
}

Example of generating an embed token for a paginated report with multiple data source identities and a single identity blob

Sample Request

POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
  "reports": [
    {
      "id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
    }
  ],
  "datasourceIdentities": [
    {
      "datasources": [
        {
          "datasourceType": "Sql",
          "connectionDetails": {
            "server": "New-Sql-Server",
            "database": "New-Sql-Database"
          }
        },
        {
          "datasourceType": "MySql",
          "connectionDetails": {
            "server": "New-MySql-Server",
            "database": "New-MySql-Database"
          }
        }
      ],
      "identityBlob": "eyJ0eX....AAA="
    }
  ]
}

Sample Response

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2028-07-29T17:58:19Z"
}

Example of generating an embed token for a paginated report with multiple data source identities and multiple identity blobs

Sample Request

POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
  "reports": [
    {
      "id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
    }
  ],
  "datasourceIdentities": [
    {
      "datasources": [
        {
          "datasourceType": "Sql",
          "connectionDetails": {
            "server": "New-Sql-Server",
            "database": "New-Sql-Database"
          }
        }
      ],
      "identityBlob": "eyJ0eX....AAA="
    },
    {
      "datasources": [
        {
          "datasourceType": "MySql",
          "connectionDetails": {
            "server": "New-MySql-Server",
            "database": "New-MySql-Database"
          }
        }
      ],
      "identityBlob": "eyJ0dW....AAA="
    }
  ]
}

Sample Response

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2028-07-29T17:58:19Z"
}

Sample Request

POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
  "datasets": [
    {
      "id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd",
      "xmlaPermissions": "ReadOnly"
    },
    {
      "id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
      "xmlaPermissions": "ReadOnly"
    }
  ],
  "reports": [
    {
      "id": "f904e89a-7ebe-4aa0-8647-e409063b4850"
    }
  ],
  "datasourceIdentities": [
    {
      "datasources": [
        {
          "datasourceType": "Sql",
          "connectionDetails": {
            "server": "Best-Sql-Server",
            "database": "Database3"
          }
        }
      ],
      "identityBlob": "eyJ0eX....AAA="
    }
  ]
}

Sample Response

{
  "token": "H4sI....AAA=",
  "tokenId": "ab4d49ae-c054-4c29-af52-93b5c80619ff",
  "expiration": "2022-06-10T12:41:11Z"
}

Example of generating an embed token for a Power BI report with a paginated visual. The paginated report ID ('...4850') of the paginated visual must be included in the 'reports' section of the request.

Sample Request

POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
  "datasets": [
    {
      "id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
    }
  ],
  "reports": [
    {
      "id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
    },
    {
      "id": "f904e89a-7ebe-4aa0-8647-e409063b4850"
    }
  ]
}

Sample Response

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2018-07-29T17:58:19Z"
}

Example of generating an embed token for two datasets with RLS identities and a single report with read-only permissions. The embed token lets you view the report, which is dynamically bound to two different datasets.

Sample Request

POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
  "datasets": [
    {
      "id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
    },
    {
      "id": "e75afc47-1150-45e0-aba7-4eb04e4876e5"
    }
  ],
  "reports": [
    {
      "id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
    }
  ],
  "identities": [
    {
      "username": "john@contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    },
    {
      "username": "iris@contoso.com",
      "roles": [
        "executive"
      ],
      "datasets": [
        "e75afc47-1150-45e0-aba7-4eb04e4876e5"
      ]
    }
  ]
}

Sample Response

{
  "token": "H4sI....AAA=",
  "tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
  "expiration": "2028-07-29T17:58:19Z"
}

Example of generating an embed token that expires no later than ten minutes from the API call

Sample Request

POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
  "datasets": [
    {
      "id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
    }
  ],
  "reports": [
    {
      "id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
    }
  ],
  "identities": [
    {
      "username": "john@contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ],
  "lifetimeInMinutes": 10
}

Sample Response

{
  "token": "H4sI....AAA=",
  "tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
  "expiration": "2028-07-29T17:58:19Z"
}

Tanımlar

Name Description
DatasourceConnectionDetails

Power BI veri kaynağı bağlantı ayrıntıları. Veri Kaynaklarını Alma veya Grup halinde Veri Kaynakları Alma ile ilgili örneklere bakın.

DatasourceIdentity

Çoklu oturum açma (SSO) etkinken DirectQuery veri kaynaklarını bağlamak için etkili kimlik.

DatasourceSelector

Tek bir veri kaynağını bağlantı ayrıntılarıyla benzersiz olarak tanımlayan bir nesne.

EffectiveIdentity

Kullanıcı kimliğini ve rollerini tanımlar. Daha fazla bilgi için bkz. Power BI Embedded ile satır düzeyi güvenlik.

EmbedToken

Power BI ekleme belirteci

GenerateTokenRequestV2

Power BI Belirteç İsteği V2 Oluşturma

GenerateTokenRequestV2Dataset

GenerateTokenRequestV2'de bir veri kümesi nesnesi

GenerateTokenRequestV2Report

GenerateTokenRequestV2'de bir rapor nesnesi

GenerateTokenRequestV2TargetWorkspace

GenerateTokenRequestV2'de bir çalışma alanı nesnesi

IdentityBlob

Kimlik belirtmek için bir blob. Yalnızca Azure SQL directQuery bağlantısı olan veri kümeleri için desteklenir

XmlaPermissions

XMLA İzinleri

DatasourceConnectionDetails

Power BI veri kaynağı bağlantı ayrıntıları. Veri Kaynaklarını Alma veya Grup halinde Veri Kaynakları Alma ile ilgili örneklere bakın.

Name Tür Description
account

string

Bağlantı hesabı

classInfo

string

Bağlantı sınıfı bilgileri

database

string

Bağlantı veritabanı

domain

string

Bağlantı etki alanı

emailAddress

string

Bağlantı e-posta adresi

kind

string

Bağlantı türü

loginServer

string

Bağlantı oturum açma sunucusu

path

string

Bağlantı yolu

server

string

Bağlantı sunucusu

url

string

Bağlantı URL'si

DatasourceIdentity

Çoklu oturum açma (SSO) etkinken DirectQuery veri kaynaklarını bağlamak için etkili kimlik.

Name Tür Description
datasources

DatasourceSelector[]

Bu kimliğin uygulandığı veri kaynakları dizisi.

identityBlob

string

Kimliği belirtmek için bir blob.

DatasourceSelector

Tek bir veri kaynağını bağlantı ayrıntılarıyla benzersiz olarak tanımlayan bir nesne.

Name Tür Description
connectionDetails

DatasourceConnectionDetails

Veri kaynağı bağlantı ayrıntıları. Sayfalandırılmış raporlar için Veri Al vePowerbi raporları için Veri Kaynağı Al API'lerini kullanarak bağlantı ayrıntılarını alabilirsiniz.

datasourceType

string

Veri kaynağının türü.

Veri kaynağı için API adı
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector ÖzelHttpApi
DB2 Essbase EventHub
Excel Exchange Uzantı
Facebook File Klasör
GoogleAnalytics Hdfs HDInsight
Informix MQ MySql
OData ODBC OleDb
Oracle PostgreSql PowerQueryMashup
PubNub Salesforce SAPBW
SAPBWMessageServer SapErp SAPHana
SharePoint SharePointDocLib SharePointList
Sql Sybase Teradata
UIFlow Web

EffectiveIdentity

Kullanıcı kimliğini ve rollerini tanımlar. Daha fazla bilgi için bkz. Power BI Embedded ile satır düzeyi güvenlik.

Name Tür Description
auditableContext

string

EffectiveIdentity denetlenebilir bağlamı. Bu parametre sağlanır ve boş değilse EffectiveIdentity denetimini etkinleştirir ve değeri denetim kaydındaki kullanıcı adına ayarlanır. Aksi takdirde EffectiveIdentity bağlamı GenerateToken denetim kaydından atlanır.

customData

string

Satır düzeyi güvenlik kurallarını uygulamak için kullanılan özel veriler. Yalnızca Azure Analysis Services modellerine ve bulut modellerine canlı bağlantı için desteklenir.

datasets

string[]

Bu kimliğin geçerli olduğu bir veri kümesi dizisi

identityBlob

IdentityBlob

Kimliği belirten bir blob. Yalnızca Azure SQL directQuery bağlantısı olan veri kümeleri için desteklenir.

reports

string[]

Bu kimliğin geçerli olduğu bir rapor dizisi. Yalnızca sayfalandırılmış raporlar için desteklenir.

roles

string[]

RLS kurallarını uygulayan bir belirteç içindeki satır düzeyi güvenlik (RLS) rolleri dizisi. Bir kimlik en fazla 50 rol içerebilir. Rol, dışında ,herhangi bir karakter içerebilir ve uzunluğu 50 karakteri aşmamalıdır.

username

string

Satır düzeyi güvenlik kuralları uygulayan bir belirteç içindeki geçerli kullanıcı adı. Şirket içi model için kullanıcı adı alfasayısal veya şu karakterlerden .herhangi birini içerebilir: , -, !_, , #, ^, ~, \\, . @ Bulut modelleri için kullanıcı adı herhangi bir ASCII karakteri içerebilir. Her iki model için de kullanıcı adı uzunluğu 256 karakteri aşmamalıdır ve kullanıcı adı boşluk içermemelidir.

EmbedToken

Power BI ekleme belirteci

Name Tür Description
expiration

string

Belirtecin sona erme tarihi ve saati (UTC)

token

string

Ekleme belirteci

tokenId

string

Benzersiz belirteç kimliği. Denetim günlükleri aracılığıyla belirteç kimliği, belirteci kullanan işlemleri oluşturma işlemiyle ilişkilendirmek için kullanılabilir.

GenerateTokenRequestV2

Power BI Belirteç İsteği V2 Oluşturma

Name Tür Description
datasets

GenerateTokenRequestV2Dataset[]

Veri kümelerinin listesi

datasourceIdentities

DatasourceIdentity[]

Tek Sign-On (SSO) etkin veri kaynaklarına bağlanırken kullanılacak kimliklerin listesi.

identities

EffectiveIdentity[]

Satır düzeyi güvenlik kuralları için kullanılacak kimliklerin listesi

lifetimeInMinutes

integer

Belirtecin oluşturulduğu zamandan başlayarak dakika cinsinden en uzun yaşam süresi. Belirtecin sona erme süresini kısaltmak için kullanılabilir, ancak uzatmak için kullanılamaz. Değer pozitif bir tamsayı olmalıdır. Sıfır (0) ile eşdeğerdir nullve varsayılan sona erme süresini ayarlar.

reports

GenerateTokenRequestV2Report[]

Rapor listesi

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Ekleme belirtecinin kaydetmeye izin verecekleri çalışma alanlarının listesi

GenerateTokenRequestV2Dataset

GenerateTokenRequestV2'de bir veri kümesi nesnesi

Name Tür Description
id

string

Veri kümesi kimliği

xmlaPermissions

XmlaPermissions

XMLA İzinleri

GenerateTokenRequestV2Report

GenerateTokenRequestV2'de bir rapor nesnesi

Name Tür Description
allowEdit

boolean

Oluşturulan ekleme belirtecinin rapor düzenlemeyi destekleyip desteklemediği

id

string

Rapor kimliği

GenerateTokenRequestV2TargetWorkspace

GenerateTokenRequestV2'de bir çalışma alanı nesnesi

Name Tür Description
id

string

Çalışma alanı kimliği

IdentityBlob

Kimlik belirtmek için bir blob. Yalnızca Azure SQL directQuery bağlantısı olan veri kümeleri için desteklenir

Name Tür Description
value

string

Azure SQL için OAuth 2.0 erişim belirteci

XmlaPermissions

XMLA İzinleri

Name Tür Description
Off

string

Oluşturulan ekleme belirtecinin veri kümesinin XMLA uç noktasına erişim izinleri vermediğini gösterir.

ReadOnly

string

Oluşturulan ekleme belirtecinin veri kümesinin XMLA uç noktası için Okuma erişimi izinleri olduğunu gösterir.