in NodeJS/Embed for your customers/AppOwnsData/src/embedConfigService.js [241:284]
async function getEmbedTokenForMultipleReportsMultipleWorkspaces(reportIds, datasetIds, targetWorkspaceIds) {
// Note: This method is an example and is not consumed in this sample app
// Add dataset ids in the request
let formData = { 'datasets': [] };
for (const datasetId of datasetIds) {
formData['datasets'].push({
'id': datasetId
})
}
// Add report ids in the request
formData['reports'] = [];
for (const reportId of reportIds) {
formData['reports'].push({
'id': reportId
})
}
// Add targetWorkspace ids in the request
if (targetWorkspaceIds) {
formData['targetWorkspaces'] = [];
for (const targetWorkspaceId of targetWorkspaceIds) {
formData['targetWorkspaces'].push({
'id': targetWorkspaceId
})
}
}
const embedTokenApi = "https://api.powerbi.com/v1.0/myorg/GenerateToken";
const headers = await getRequestHeader();
// Generate Embed token for multiple datasets, reports and workspaces. Refer https://aka.ms/MultiResourceEmbedToken
const result = await fetch(embedTokenApi, {
method: 'POST',
headers: headers,
body: JSON.stringify(formData)
});
if (!result.ok)
throw result;
return result.json();
}