Řešení potíží s vloženou aplikací
Tento článek popisuje některé běžné problémy, které se můžou zobrazit při vkládání obsahu z Power BI.
Nástroje pro řešení potíží
Trasování Fiddleru
Fiddler je bezplatný nástroj od Teleriku, který monitoruje provoz HTTP. Můžete zobrazit provoz s API Power BI z klientského počítače. Tento nástroj může zobrazit chyby a další související informace.
F12 v prohlížeči pro ladění front-endu
Klávesa F12 spustí okno pro vývojáře v prohlížeči. Tento nástroj umožňuje podívat se na síťový provoz a zobrazit další cenné informace.
Extrahování podrobností o chybě z odpovědi Power BI
Tento fragment kódu ukazuje, jak extrahovat podrobnosti o chybě z výjimky HTTP:
public static string GetExceptionText(this HttpOperationException exc)
{
var errorText = string.Format("Request: {0}\r\nStatus: {1} ({2})\r\nResponse: {3}",
exc.Request.Content, exc.Response.StatusCode, (int)exc.Response.StatusCode, exc.Response.Content);
if (exc.Response.Headers.ContainsKey("RequestId"))
{
var requestId = exc.Response.Headers["RequestId"].FirstOrDefault();
errorText += string.Format("\r\nRequestId: {0}", requestId);
}
return errorText;
}
Doporučujeme protokolovat ID žádosti (a podrobnosti o chybě pro řešení potíží). Při přístupu k podpoře Microsoftu zadejte ID žádosti.
Registrace aplikace
Selhání registrace aplikace
Chybové zprávy na webu Azure Portal nebo na stránce registrace aplikace Power BI vás upozorní, pokud nemáte dostatečná oprávnění k registraci aplikace. Pokud chcete zaregistrovat aplikaci, musíte být správcem v tenantovi Microsoft Entra nebo registrace aplikací musí být povolené pro uživatele, kteří nejsou správci.
služba Power BI se nezobrazuje na webu Azure Portal při registraci nové aplikace
K Power BI musí být zaregistrovaný alespoň jeden uživatel. Pokud v seznamu rozhraní API nevidíte služba Power BI, není k Power BI zaregistrovaný žádný uživatel.
Jaký je rozdíl mezi ID objektu aplikace a ID hlavního objektu?
Při registraci aplikace Microsoft Entra existují dva parametry označované jako ID objektu. Tato část vysvětluje účel každého parametru a jeho získání.
ID objektu aplikace
ID objektu aplikace, označované také jako ID objektu, je jedinečné ID vašeho objektu aplikace Microsoft Entra.
Pokud chcete získat ID objektu aplikace, přejděte do aplikace Microsoft Entra a zkopírujte ho z přehledu.
ID objektu
ID objektu instančního objektu přidruženého k vaší aplikaci Microsoft Entra.
Pokud chcete získat ID objektu zabezpečení, přejděte do aplikace Microsoft Entra a v přehledu vyberte odkaz aplikace ve spravované aplikaci v místním adresáři.
V části Vlastnosti zkopírujte ID objektu.
Ověřování
Ověření se nezdařilo s chybou AADSTS70002 nebo AADSTS50053
(AADSTS70002: Při ověřování přihlašovacích údajů došlo k chybě. AADSTS50053: Pokusili jste se přihlásit příliš mnohokrát s nesprávným ID uživatele nebo heslem).
Pokud používáte Power BI Embedded a přímé ověřování Microsoft Entra, může se vám při pokusu o přihlášení zobrazit zpráva podobná předchozí zprávě, protože přímé ověřování není povolené.
Přímé ověřování můžete znovu zapnout pomocí zásad Microsoft Entra, které jsou vymezené pro organizaci nebo instanční objekt.
Tuto zásadu doporučujeme povolit jenom pro jednotlivé aplikace.
Pokud chcete vytvořit tuto zásadu, musíte být globálním Správa istratorem pro adresář, ve kterém zásadu vytváříte, a přiřazovat ji. Tady je ukázkový skript pro vytvoření zásady a jeho přiřazení k SP pro tuto aplikaci:
Spusťte následující příkazy PowerShellu line-by-line (ujistěte se, že proměnná
$sp
nemá v důsledku toho více než jednu aplikaci).Connect-MgGraph -Scopes "Directory.Read.All","Policy.ReadWrite.ApplicationConfiguration" $sp = Get-MgServicePrincipal -Filter "DisplayName eq 'Name_Of_Application'" $policy = New-MgBetaPolicyActivityBasedTimeoutPolicy -Definition @("{`"AllowCloudPasswordValidation`":true}") ` -DisplayName EnableDirectAuth -IsOrganizationDefault:$false $params = @{ "@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/$policy.Id" } New-MgBetaServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId $sp.Id ` -BodyParameter $params
Po přiřazení zásady počkejte před testováním přibližně 15 až 20 sekund na šíření.
Selhání generování tokenu při poskytování efektivní identity
GenerateToken
může selhat s efektivní identitou zadanou z několika různých důvodů:
- Sémantický model nepodporuje efektivní identitu.
- Uživatelské jméno nebylo zadané.
- Role nebyla poskytována.
DatasetId
nebyl poskytnut.- Uživatel nemá správná oprávnění.
Pokud chcete zjistit problém, vyzkoušejte následující kroky:
- Spusťte datovou sadu get. Je vlastnost
IsEffectiveIdentityRequired
pravdivá? - Uživatelské jméno je vyžadováno pro libovolnou
EffectiveIdentity
. - Pokud
IsEffectiveIdentityRolesRequired
je hodnota true, je vyžadována role. DatasetId
je vyžadována pro všechnyEffectiveIdentity
.- Pro Analysis Services musí být hlavním uživatelem správce brány.
AADSTS90094: Udělení vyžaduje oprávnění správce.
Příznaky:
Když se uživatel bez oprávnění správce pokusí přihlásit k aplikaci poprvé při udělování souhlasu, zobrazí se jedna z následujících chyb:
-
ConsentTest needs permission to access resources in your organization that only an admin can grant. Ask an admin to grant permission to this app before you can use it.
-
AADSTS90094: The grant requires admin permission.
Uživatel s oprávněním správce se může přihlásit a udělit souhlas úspěšně.
Původní příčina:
Souhlas uživatele je pro tenanta zakázaný.
Je možné provést několik oprav:
- Povolení souhlasu uživatele pro celého tenanta (všichni uživatelé, všechny aplikace):
- Na webu Azure Portal přejděte na Microsoft Entra ID>Users and groups>User settings.
- Povolte uživatelům souhlas s aplikacemi, které přistupují k firemním datům v jejich zastoupení, a uložte změny.
- Správce může aplikaci udělit oprávnění – buď pro celého tenanta, nebo pro konkrétního uživatele.
Chyba CS1061
Pokud dojde k následující chybě, stáhněte si Microsoft.IdentityModel.Clients.ActiveDirectory :
'AuthenticationContext' does not contain a definition for 'AcquireToken' and no accessible 'AcquireToken' accepting a first argument of type 'AuthenticationContext' could be found (are you missing a using directive or an assembly reference?)
Token Microsoft Entra pro jiného tenanta (uživatel typu host)
Pokud chcete uživatelům typu host Microsoft Entra umožnit přístup k vašemu obsahu, musíte při vkládání do své organizace zadat ID tenanta v parametruauthorityUri
.
Adresa URL pro ověřování v tenantovi vaší organizace:
https://login.microsoftonline.com/common/v2.0
Adresa URL pro ověřování uživatele Microsoft Entra typu host:
https://login.microsoftonline.com/<tenant ID>
K vyhledání ID tenanta můžete použít pokyny v části Vyhledání ID tenanta Microsoft Entra a primárního názvu domény.
Další informace najdete v tématu Vytvoření víceklienta aplikace.
Zdroje dat
IsV chce mít pro stejný zdroj dat jiné přihlašovací údaje.
Zdroj dat může mít jednu sadu přihlašovacích údajů pro jednoho hlavního uživatele. Pokud potřebujete použít jiné přihlašovací údaje, vytvořte další hlavní uživatele. Potom přiřaďte k jednotlivým kontextům hlavního uživatele různé přihlašovací údaje a vložte je pomocí tokenu Microsoft Entra tohoto uživatele.
Řešení potíží s vloženou aplikací pomocí objektu IError
K ladění aplikace použijte objekt IError vrácený událostí chyby ze sady JavaScript SDK a lépe porozumíte příčinám chyb.
Po získání objektu IError byste se měli podívat na příslušnou tabulku běžných chyb, která odpovídá používanému typu vložení. Porovnejte vlastnosti IError s vlastnostmi v tabulce a vyhledejte možné důvody selhání.
Typické chyby při vkládání pro uživatele Power BI
Zpráva | Podrobná zpráva | Kód chyby | Možné důvody |
---|---|---|---|
TokenExpired | Platnost přístupového tokenu vypršela a znovu se odešle s novým přístupovým tokenem. | 403 | Prošlý token |
PowerBIEntityNotFound | Získání sestavy se nezdařilo. | 404 | |
Neplatné parametry | Parametr powerbiToken není zadaný. | – | |
LoadReportFailed | Nepodařilo se inicializovat – Nepodařilo se vyřešit cluster | 403 | |
PowerBINotAuthorizedException | Získání sestavy se nezdařilo. | 401 | |
TokenExpired | Platnost přístupového tokenu vypršela a znovu se odešle s novým přístupovým tokenem. Vizuál sestavy s názvem "Visual Title" (Název vizuálu) se nepovedlo vykreslit | – | |
Open Připojení ionError | Vizuál se nedá zobrazit. Vizuál sestavy s názvem "Visual Title" (Název vizuálu) se nepovedlo vykreslit | – | Kapacita se pozastavila nebo odstranila, když se sestava související s kapacitou otevřela v relaci. |
ExplorationContainer_FailedToLoadModel_DefaultDetails | Nelze načíst schéma modelu přidružené k této sestavě. Ujistěte se, že máte připojení k serveru, a zkuste to znovu. | – |
Typické chyby při vkládání pro uživatele mimo Power BI (pomocí tokenu pro vložení)
Zpráva | Podrobná zpráva | Kód chyby | Důvodů |
---|---|---|---|
TokenExpired | Platnost přístupového tokenu vypršela a znovu se odešle s novým přístupovým tokenem. | 403 | Prošlý token |
LoadReportFailed | Získání sestavy se nezdařilo. | 404 | |
LoadReportFailed | Získání sestavy se nezdařilo. | 403 | ID sestavy neodpovídá tokenu |
LoadReportFailed | Získání sestavy se nezdařilo. | 500 | Zadané ID sestavy není IDENTIFIKÁTOR GUID |
Neplatné parametry | Parametr powerbiToken není zadaný. | – | |
LoadReportFailed | Nepodařilo se inicializovat – Nepodařilo se vyřešit cluster | 403 | Nesprávný typ tokenu nebo chybný token |
PowerBINotAuthorizedException | Získání sestavy se nezdařilo. | 401 | Nesprávné nebo neautorizované ID skupiny |
TokenExpired | Platnost přístupového tokenu vypršela a znovu se odešle s novým přístupovým tokenem. Vizuál sestavy s názvem "Visual Title" (Název vizuálu) se nepovedlo vykreslit | – | |
Open Připojení ionError | Vizuál se nedá zobrazit. Vizuál sestavy s názvem "Visual Title" (Název vizuálu) se nepovedlo vykreslit | – | Kapacita se pozastavila nebo odstranila, když se sestava související s kapacitou otevřela v relaci. |
ExplorationContainer_FailedToLoadModel_DefaultDetails | Nelze načíst schéma modelu přidružené k této sestavě. Ujistěte se, že máte připojení k serveru, a zkuste to znovu. | – |
Získání sestavy selže – chyba 401 – vyřešit sami
V případě, že uživatel vlastní data, se někdy uživatelům zobrazí chyba 401, která se vyřeší po přístupu k portálu Power BI. Když dojde k chybě 401, přidejte do aplikace volání Oprávnění uživatele RefreshUser, jak je vysvětleno v části Aktualizace uživatelských oprávnění.
Sémantické modely
Správa části dat, která uživatelé uvidí
Každý uživatel s oprávněním ke čtení pro sémantický model může zobrazit celé schéma (tabulky, sloupce a míry) a všechna data. Zobrazení oprávnění k nezpracovaným a agregovaným datům nemůžete řídit samostatně ve stejném sémantickém modelu.
Pokud chcete spravovat, kterou část dat můžou uživatelé zobrazit, použijte jednu z následujících metod:
Filtrování na úrovni řádků pomocí zabezpečení na úrovni řádků (RLS) v Power BI
Data oddělte do různých sémantických modelů. Můžete například vytvořit sémantický model, který obsahuje pouze agregovaná data, a poskytnout uživatelům přístup pouze k sadě sémantických modelů.
Vykreslování obsahu
Pokud chcete vyřešit problémy s vykreslováním ve vložených položkách Power BI (například sestavách a řídicích panelech), projděte si tuto část.
Ověřte, že se položka Power BI načte v služba Power BI
Pokud chcete vyloučit problémy s vaší aplikací nebo rozhraními API pro vkládání, ověřte, že je možné položku zobrazit v služba Power BI (powerbi.com).
Ověřte, že se položka Power BI načte ve vloženém analytickém prostředí Power BI.
Pokud chcete vyloučit problémy s vaší aplikací, ověřte, že se položka Power BI dá zobrazit v dětském prostředí analýz Power BI Embedded.
Ověřte, že nevypršela platnost přístupového tokenu.
Pro účely zabezpečení mají přístupové tokeny (token Microsoft Entra nebo token pro vložení) omezenou životnost. V případě potřeby byste měli neustále monitorovat přístupový token a aktualizovat ho. Další informace najdete v tématu Aktualizace přístupového tokenu.
Výkon
Pokud chcete dosáhnout nejlepšího výkonu vloženého obsahu, doporučujeme postupovat podle osvědčených postupů pro vložené analýzy Power BI.
Nástroj pro nastavení vložení
Můžete si projít nástroj pro nastavení vkládání a rychle stáhnout ukázkovou aplikaci. Pak můžete aplikaci porovnat s ukázkou.
Požadavky
Před použitím nástroje pro nastavení vkládání ověřte, že máte všechny správné požadavky. Potřebujete účet Power BI Pro a předplatné Microsoft Azure .
- Pokud nejste zaregistrovaní k Power BI Pro, zaregistrujte si bezplatnou zkušební verzi , než začnete.
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Musíte mít vlastní nastavení tenanta Microsoft Entra.
- Potřebujete nainstalovanou sadu Visual Studio (verze 2013 nebo novější).
Běžné problémy
Mezi běžné problémy, se kterými se můžete setkat při testování pomocí nástroje pro nastavení vložení, patří:
Použití ukázkové aplikace Embed pro vaše zákazníky
Pokud pracujete se službou Vložit pro vaše zákazníky , uložte a rozbalte soubor PowerBI-Developer-Samples.zip . Pak otevřete složku PowerBI-Developer-Samples-master\App Owns Data a spusťte soubor PowerBIEmbedded_AppOwnsData.sln .
- Při výběru možnosti Udělit oprávnění (krok Udělit oprávnění) se zobrazí následující chyba:
AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
Řešením je zavřít místní okno, počkat několik sekund a zkusit to znovu. Tuto akci možná budete muset opakovat několikrát. Časový interval způsobí, že problém způsobí dokončení procesu registrace aplikace, až bude dostupný pro externí rozhraní API.
- Při spuštění ukázkové aplikace se zobrazí následující chybová zpráva:
Password is empty. Please fill password of Power BI username in web.config.
K této chybě dochází, protože jedinou hodnotou, která není vložena do ukázkové aplikace, je vaše uživatelské heslo. Otevřete soubor Web.config v řešení a vyplňte pbiPassword
pole heslem uživatele.
- Pokud se zobrazí chyba:
AADSTS50079: The user is required to use multi-factor authentication.
Potřebujete použít účet Microsoft Entra, který nemá povolené vícefaktorové ověřování.
Použití vložení v ukázkové aplikaci organizace
Pokud pracujete se službou Embed for your organization experience, uložte a rozbalte soubor PowerBI-Developer-Samples.zip . Pak otevřete složku PowerBI-Developer-Samples-master\User Owns Data\integrate-report-web-app a spusťte soubor pbi-saas-embed-report.sln .
- Když spustíte ukázkovou aplikaci Embed pro vaši organizaci , zobrazí se následující chyba:
AADSTS50011: The reply URL specified in the request doesn't match the reply URLs configured for the application: <client ID>
Příčinou této chyby je to, že adresa URL přesměrování zadaná pro aplikaci webového serveru se liší od adresy URL ukázky. Pokud chcete ukázkovou aplikaci zaregistrovat, použijte https://localhost:13526/
ji jako adresu URL pro přesměrování.
Pokud chcete upravit registrovanou aplikaci, aktualizujte zaregistrovanou aplikaci Microsoft Entra, aby aplikace mohla poskytnout přístup k webovým rozhraním API.
Pokud chcete upravit profil uživatele nebo data Power BI, přečtěte si, jak upravit data Power BI.
- Pokud se zobrazí chyba:
AADSTS50079: The user is required to use multi-factor authentication.
Potřebujete použít účet Microsoft Entra, který nemá povolené vícefaktorové ověřování.
Další informace najdete v nejčastějších dotazech k Power BI Embedded.
Pokud potřebujete další pomoc, obraťte se na podporu nebo vytvořte lístek podpory prostřednictvím webu Azure Portal a uveďte chybové zprávy, se kterými se setkáte.
Související obsah
Nejčastější dotazy k Power BI Embedded
Máte ještě další otázky? Zeptejte se Komunita Power BI