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 veri kümesine bağlayabilirsiniz.
  • Yalnızca targetWorkspaces parametresi tarafından belirtilen çalışma alanlarında rapor oluşturabilirsiniz.

Önemli

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

İzinler

  • Kimlik doğrulaması için hizmet sorumlusu kullanırken, Hizmet sorumlusu ile Power BI içeriği ekleme ve ile ilgili önemli noktalar ve sınırlamalarkonusuna bakın.
  • Sayfalandırılmış görsele sahip Power BI raporları için API çağrısına sayfalandırılmış rapor kimliğini ekleyin. Daha fazla bilgi için bkz. örnek.
  • Bu API çağrısı bir hizmet sorumlusu profili tarafından çağrılabilir. Daha fazla bilgi için bkz. Power BI Embeddedhizmet sorumlusu profilleri.

Gerekli Kapsam

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

  • Content.Create, GenerateTokenRequestV2içinde bir hedef çalışma alanı belirtilirse gereklidir.
  • Report.ReadWrite.All veya Report.Read.All, GenerateTokenRequestV2içinde bir rapor belirtilirse gereklidir.
  • GenerateTokenRequestV2içinde en az bir rapor için allowEdit bayrağı belirtilmişse Report.ReadWrite.All gerekir.
  • Dataset.ReadWrite.All veya Dataset.Read.All

Sınırlamalar

  • Yalnızca targetWorkspaces parametresi tarafından belirtilen çalışma alanlarında rapor 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şturmak, yeniden bağlamasonra birkaç dakika ç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 süre sonu 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), nulleşdeğerdir ve varsayılan süre sonu süresini ayarlar.

reports

GenerateTokenRequestV2Report[]

Rapor listesi

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Ekleme belirtecinin kaydetmeye izin verecek ç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.

Örnek isteği

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"
    }
  ]
}

Örnek yanıt

{
  "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

Örnek isteği

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"
      ]
    }
  ]
}

Örnek yanıt

{
  "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

Örnek isteği

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="
    }
  ]
}

Örnek yanıt

{
  "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

Örnek isteği

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="
    }
  ]
}

Örnek yanıt

{
  "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

Örnek isteği

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="
    }
  ]
}

Örnek yanıt

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

Örnek isteği

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="
    }
  ]
}

Örnek yanıt

{
  "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.

Örnek isteği

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"
    }
  ]
}

Örnek yanıt

{
  "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.

Örnek isteği

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"
      ]
    }
  ]
}

Örnek yanıt

{
  "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

Örnek isteği

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
}

Örnek yanıt

{
  "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ı Alma veya Veri Kaynaklarını GrupAlma içindeki ö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 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 Oluşturma V2

GenerateTokenRequestV2Dataset

GenerateTokenRequestV2 bir veri kümesi nesnesi

GenerateTokenRequestV2Report

GenerateTokenRequestV2 bir rapor nesnesi

GenerateTokenRequestV2TargetWorkspace

GenerateTokenRequestV2 çalışma alanı nesnesi

IdentityBlob

Kimlik belirtmek için bir blob. Yalnızca Azure SQL'e 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ı Alma veya Veri Kaynaklarını GrupAlma içindeki ö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 geçerli olduğu 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 nesne.

Name Tür Description
connectionDetails

DatasourceConnectionDetails

Veri kaynağı bağlantı ayrıntıları. Sayfalandırılmış raporlar için Veri Kaynakları Al ve powerbi raporları API'leri için Veri Kaynakları Al 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 AzureTable'lar BizTalk
CDPA CustomConnector ÖzelHttpApi
DB2 Essbase EventHub
Excel Değiş tokuş etmek Uzantı
Facebook Dosya 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 İnternet

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ıp 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 veri. 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

birkimliği belirten blob. Yalnızca Azure SQL ile 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 ., -, _, !, #, ^, ~, \\, @aşağıdaki 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 (date-time)

Belirtecin sona erme tarihi ve saati (UTC)

token

string

Ekleme belirteci

tokenId

string (uuid)

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

GenerateTokenRequestV2

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

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 süre sonu 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), nulleşdeğerdir ve varsayılan süre sonu süresini ayarlar.

reports

GenerateTokenRequestV2Report[]

Rapor listesi

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

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

GenerateTokenRequestV2Dataset

GenerateTokenRequestV2 bir veri kümesi nesnesi

Name Tür Description
id

string

Veri kümesi kimliği

xmlaPermissions

XmlaPermissions

XMLA İzinleri

GenerateTokenRequestV2Report

GenerateTokenRequestV2 bir rapor nesnesi

Name Tür Description
allowEdit

boolean

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

id

string (uuid)

Rapor kimliği

GenerateTokenRequestV2TargetWorkspace

GenerateTokenRequestV2 çalışma alanı nesnesi

Name Tür Description
id

string (uuid)

Çalışma alanı kimliği

IdentityBlob

Kimlik belirtmek için bir blob. Yalnızca Azure SQL'e 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

Değer Description
Off

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

ReadOnly

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