Embed Token - Generate Token
Menghasilkan token semat untuk beberapa laporan, himpunan data, dan ruang kerja target.
- Laporan dan himpunan data tidak harus terkait.
- Anda dapat mengikat laporan ke himpunan data selama penyematan.
- Anda hanya dapat membuat laporan di ruang kerja yang ditentukan oleh parameter
targetWorkspaces.
Penting
Panggilan API ini hanya relevan dengan yang disematkan untuk skenario pelanggan Anda. Untuk mempelajari selengkapnya tentang menggunakan API ini, lihat Pertimbangan saat menghasilkan token semat.
Hak akses
- Saat menggunakan perwakilan layanan untuk autentikasi, lihat Menyematkan konten Power BI dengan perwakilan layanan dan Pertimbangan dan batasan .
- Untuk laporan Power BI dengan visual yang dipaginasi, sertakan ID laporan yang dipaginasi dalam panggilan API. Untuk informasi selengkapnya, lihat contoh .
- Panggilan API ini dapat dipanggil oleh profil perwakilan layanan. Untuk informasi selengkapnya lihat: profil perwakilan layanan di Power BI Embedded.
Cakupan yang Diperlukan
Semua hal berikut, kecuali persyaratan tidak berlaku:
- Content.Create, diperlukan jika ruang kerja target ditentukan di GenerateTokenRequestV2.
- Report.ReadWrite.All atau Report.Read.All, diperlukan jika laporan ditentukan dalam GenerateTokenRequestV2.
- Report.ReadWrite.All, diperlukan jika bendera
allowEditditentukan untuk setidaknya satu laporan di GenerateTokenRequestV2. - Dataset.ReadWrite.All atau Dataset.Read.All
Keterbatasan
- Anda hanya dapat membuat laporan di ruang kerja yang ditentukan oleh parameter
targetWorkspaces. - Semua laporan dan himpunan data harus berada di ruang kerja V2.
- Semua ruang kerja target harus ruang kerja V2.
- Maksimum 50 laporan.
- Maksimum 50 himpunan data.
- Maksimum 50 ruang kerja target.
- Untuk laporan koneksi langsung lokal Azure Analysis Services atau Analysis Services, menghasilkan token semat dengan keamanan tingkat baris (RLS) mungkin tidak berfungsi selama beberapa menit setelah mengikat ulang.
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
Isi Permintaan
| Nama | Jenis | Deskripsi |
|---|---|---|
| datasets |
Daftar himpunan data |
|
| datasourceIdentities |
Daftar identitas yang akan digunakan saat menyambungkan ke sumber data dengan Single Sign-On (SSO) diaktifkan. |
|
| identities |
Daftar identitas yang akan digunakan untuk aturan keamanan tingkat baris |
|
| lifetimeInMinutes |
integer |
Masa pakai maksimum token dalam hitungan menit, mulai dari waktu yang dihasilkan. Dapat digunakan untuk mempersingkat waktu kedaluwarsa token, tetapi tidak untuk memperpanjangnya. Nilai harus berupa bilangan bulat positif. Nol ( |
| reports |
Daftar laporan |
|
| targetWorkspaces |
Daftar ruang kerja yang akan diizinkan untuk disimpan oleh token semat |
Respons
| Nama | Jenis | Deskripsi |
|---|---|---|
| 200 OK |
OK |
Contoh
Example of generating an embed token for a dataset and two reports example. Only one of the reports can be edited.
Permintaan sampel
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"
}
]
}
Respon sampel
{
"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
Permintaan sampel
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"
]
}
]
}
Respon sampel
{
"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
Permintaan sampel
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="
}
]
}
Respon sampel
{
"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
Permintaan sampel
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="
}
]
}
Respon sampel
{
"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
Permintaan sampel
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="
}
]
}
Respon sampel
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2028-07-29T17:58:19Z"
}
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
Permintaan sampel
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="
}
]
}
Respon sampel
{
"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.
Permintaan sampel
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"
}
]
}
Respon sampel
{
"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.
Permintaan sampel
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"
]
}
]
}
Respon sampel
{
"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
Permintaan sampel
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
}
Respon sampel
{
"token": "H4sI....AAA=",
"tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
"expiration": "2028-07-29T17:58:19Z"
}
Definisi
| Nama | Deskripsi |
|---|---|
|
Datasource |
Detail koneksi sumber data Power BI. Lihat contoh di Dapatkan Sumber Data atau Dapatkan Sumber Data Dalam Grup. |
|
Datasource |
Identitas efektif untuk menghubungkan sumber data DirectQuery dengan akses menyeluruh (SSO) diaktifkan. |
|
Datasource |
Objek yang secara unik mengidentifikasi satu sumber data dengan detail koneksinya. |
|
Effective |
Menentukan identitas dan peran pengguna. Untuk informasi selengkapnya, lihat keamanan tingkat baris dengan Power BI Embedded. |
|
Embed |
Token semat Power BI |
|
Generate |
Power BI Menghasilkan Permintaan Token V2 |
|
Generate |
|
|
Generate |
|
|
Generate |
|
|
Identity |
Blob untuk menentukan identitas. Hanya didukung untuk himpunan data dengan koneksi DirectQuery ke Azure SQL |
|
Xmla |
Izin XMLA |
DatasourceConnectionDetails
Detail koneksi sumber data Power BI. Lihat contoh di Dapatkan Sumber Data atau Dapatkan Sumber Data Dalam Grup.
| Nama | Jenis | Deskripsi |
|---|---|---|
| account |
string |
Akun koneksi |
| classInfo |
string |
Informasi kelas koneksi |
| database |
string |
Database koneksi |
| domain |
string |
Domain koneksi |
| emailAddress |
string |
Alamat email koneksi |
| kind |
string |
Jenis koneksi |
| loginServer |
string |
Server masuk koneksi |
| path |
string |
Jalur koneksi |
| server |
string |
Server koneksi |
| url |
string |
URL koneksi |
DatasourceIdentity
Identitas efektif untuk menghubungkan sumber data DirectQuery dengan akses menyeluruh (SSO) diaktifkan.
| Nama | Jenis | Deskripsi |
|---|---|---|
| datasources |
Array sumber data yang diterapkan identitas ini. |
|
| identityBlob |
string |
Blob untuk menentukan identitas. |
DatasourceSelector
Objek yang secara unik mengidentifikasi satu sumber data dengan detail koneksinya.
| Nama | Jenis | Deskripsi | |||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| connectionDetails |
Detail koneksi sumber data. Anda dapat memperoleh detail koneksi menggunakan Dapatkan Sumber Data untuk laporan paginasi dan Dapatkan Sumber Data untuk laporan powerbi API. |
||||||||||||||||||||||||||||||||||||||||||||||||||||
| datasourceType |
string |
|
EffectiveIdentity
Menentukan identitas dan peran pengguna. Untuk informasi selengkapnya, lihat keamanan tingkat baris dengan Power BI Embedded.
EmbedToken
Token semat Power BI
| Nama | Jenis | Deskripsi |
|---|---|---|
| expiration |
string (date-time) |
Tanggal dan waktu (UTC) kedaluwarsa token |
| token |
string |
Token yang disematkan |
| tokenId |
string (uuid) |
ID token unik. Melalui log audit, ID token dapat digunakan untuk menghubungkan operasi yang menggunakan token dengan operasi hasilkan. |
GenerateTokenRequestV2
Power BI Menghasilkan Permintaan Token V2
| Nama | Jenis | Deskripsi |
|---|---|---|
| datasets |
Daftar himpunan data |
|
| datasourceIdentities |
Daftar identitas yang akan digunakan saat menyambungkan ke sumber data dengan Single Sign-On (SSO) diaktifkan. |
|
| identities |
Daftar identitas yang akan digunakan untuk aturan keamanan tingkat baris |
|
| lifetimeInMinutes |
integer |
Masa pakai maksimum token dalam hitungan menit, mulai dari waktu yang dihasilkan. Dapat digunakan untuk mempersingkat waktu kedaluwarsa token, tetapi tidak untuk memperpanjangnya. Nilai harus berupa bilangan bulat positif. Nol ( |
| reports |
Daftar laporan |
|
| targetWorkspaces |
Daftar ruang kerja yang akan diizinkan untuk disimpan oleh token semat |
GenerateTokenRequestV2Dataset
Objek himpunan data di GenerateTokenRequestV2
| Nama | Jenis | Deskripsi |
|---|---|---|
| id |
string |
ID himpunan data |
| xmlaPermissions |
Izin XMLA |
GenerateTokenRequestV2Report
Objek laporan di GenerateTokenRequestV2
| Nama | Jenis | Deskripsi |
|---|---|---|
| allowEdit |
boolean |
Apakah token semat yang dihasilkan mendukung pengeditan laporan |
| id |
string (uuid) |
ID laporan |
GenerateTokenRequestV2TargetWorkspace
Objek ruang kerja di GenerateTokenRequestV2
| Nama | Jenis | Deskripsi |
|---|---|---|
| id |
string (uuid) |
ID ruang kerja |
IdentityBlob
Blob untuk menentukan identitas. Hanya didukung untuk himpunan data dengan koneksi DirectQuery ke Azure SQL
| Nama | Jenis | Deskripsi |
|---|---|---|
| value |
string |
Token akses OAuth 2.0 untuk Azure SQL |
XmlaPermissions
Izin XMLA
| Nilai | Deskripsi |
|---|---|
| Off |
Menunjukkan bahwa token semat yang dihasilkan tidak memberikan izin akses ke titik akhir XMLA himpunan data. |
| ReadOnly |
Menunjukkan bahwa token semat yang dihasilkan memberikan izin akses Baca ke titik akhir XMLA himpunan data. |