Ř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.

Snímek obrazovky s oknem výstupu nástroje Fiddler, který zobrazuje API Power BI přenosy HTTP

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.

Snímek obrazovky s kartou Síť okna pro vývojáře webového prohlížeče, která zobrazuje síťový provoz

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.

Snímek obrazovky s oknem webu Azure Portal, které zobrazuje ID objektu v okně Přehled aplikace Microsoft Entra

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.

Snímek obrazovky s oknem webu Azure Portal, které zobrazuje spravovanou aplikaci v místním adresáři v okně Přehled aplikace Microsoft Entra

V části Vlastnosti zkopírujte ID objektu.

Snímek obrazovky s oknem webu Azure Portal, které zobrazuje ID objektu objektu zabezpečení v části Vlastnosti v okně Přehled aplikace Microsoft Entra

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:

  1. Nainstalujte sadu Microsoft Graph PowerShell SDK.

  2. 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šechny EffectiveIdentity.
  • 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.
    

    Snímek obrazovky s dialogovým oknem webu Azure Portal, ve kterém se zobrazuje chyba oprávnění k testu souhlasu

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):
  1. Na webu Azure Portal přejděte na Microsoft Entra ID>Users and groups>User settings.
  2. Povolte uživatelům souhlas s aplikacemi, které přistupují k firemním datům v jejich zastoupení, a uložte změny.

Screenshot návrháře portálu Azure.

  • 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
  • Nesprávné ID sestavy
  • Sestava neexistuje.
  • Neplatné parametry Parametr powerbiToken není zadaný.
  • Nebyl poskytnut žádný přístupový token.
  • Nezadá se žádné ID sestavy
  • LoadReportFailed Nepodařilo se inicializovat – Nepodařilo se vyřešit cluster 403
  • Chybný přístupový token
  • Typ vložení neodpovídá typu tokenu
  • PowerBINotAuthorizedException Získání sestavy se nezdařilo. 401
  • Nesprávné ID skupiny
  • Neautorizovaná skupina
  • 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
  • Dotazování dat
  • Prošlý token
  • 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.
  • Kapacita pozastavena
  • Odstraněná kapacita
  • 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
  • Nesprávné ID sestavy
  • Sestava neexistuje.
  • 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ý.
  • Nebyl poskytnut žádný přístupový token.
  • Nezadá se žádné ID sestavy
  • 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
  • Dotazování dat
  • Prošlý token
  • 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.
  • Kapacita pozastavena
  • Odstraněná kapacita
  • 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

    • Zabezpečení na úrovni objektů (OLS)

    • 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 .

    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.

    Máte ještě další otázky? Zeptejte se Komunita Power BI