Riešenie problémov s vloženou aplikáciou

V tomto článku sa popisujú niektoré bežné problémy, ktoré môžu prísť pri vkladaní obsahu zo služby Power BI.

Nástroje na riešenie problémov

Trasovanie Fiddlera

Fiddler je bezplatný nástroj od spoločnosti Telerik, ktorý monitoruje prenos údajov cez HTTP. S rozhranie API služby Power BI z klientskeho počítača môžete sledovať prenosy. Tento nástroj môže zobrazovať chyby a ďalšie súvisiace informácie.

Screenshot of the Fiddler tool output window, which shows the Power BI API HTTP traffic.

F12 v prehliadači na klientske ladenie

Pomocou kľúča F12 sa v prehliadači spustí vývojárske okno. Tento nástroj vám umožní pozrieť sa na sieťovú prevádzku a zobraziť ďalšie cenné informácie.

Screenshot of the web browser developer window's Network tab, which shows the network traffic.

Extrahovanie podrobností o chybe z odpovede služby Power BI

Tento zlomok kódu ukazuje, ako extrahovať podrobnosti o chybe z výnimky 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;
}

Odporúčame zapisovanie ID požiadavky (a podrobností o chybách) do denníka. Riešenie problémov sa odporúča zapisovať do denníka. Keď sa obrátite na podporu spoločnosti Microsoft, uveďte ID požiadavky.

Registrácia aplikácie

Zlyhanie registrácie aplikácie

Chybové hlásenia na portáli Azure Portal alebo na registračnej stránke aplikácie služby Power BI vás upozorní, ak nemáte dostatočné oprávnenia na registráciu aplikácie. Aby ste mohli aplikáciu zaregistrovať, musíte byť správcom v nájomníkovi Microsoft Entra alebo musí byť povolená registrácia aplikácií pre používateľov bez povolenia správcu.

služba Power BI sa po registrácii novej aplikácie nezobrazuje na portáli Azure Portal

V službe Power BI musí byť zaregistrovaný aspoň jeden používateľ. Ak sa v zozname rozhraní API nezobrazuje služba Power BI, v službe Power BI nie je zaregistrovaný žiadny používateľ.

Aký je rozdiel medzi ID objektu aplikácie a ID hlavného objektu?

Pri registrácii aplikácie Microsoft Entra existujú dva parametre s názvom ID objektu. Táto časť vysvetľuje účel každého parametra a ako ho získať.

ID objektu aplikácie

ID objektu aplikácie, známe aj jednoducho ako ID objektu, je jedinečným ID vášho objektu aplikácie Microsoft Entra.

Ak chcete získať ID objektu aplikácie, prejdite do svojej aplikácie Microsoft Entra a skopírujte ho z prehľadu.

Screenshot of the Azure portal window, which shows the object ID in the Overview blade of a Microsoft Entra application.

ID objektu hlavného objektu

ID hlavného objektu, známe aj jednoducho ako ID objektu, je jedinečné ID objektu služby priradeného k vašej aplikácii Microsoft Entra.

Ak chcete získať ID hlavného objektu, prejdite do svojej aplikácie Microsoft Entra a v časti Prehľad vyberte prepojenie aplikácie v časti Spravovaná aplikácia v lokálnom adresári.

Screenshot of the Azure portal window, which shows the Managed application in local directory option in the Overview blade of a Microsoft Entra application.

V časti Vlastnosti skopírujte ID objektu.

Screenshot of the Azure portal window, which shows the principal object ID in the properties section in the Overview blade of a Microsoft Entra application.

Overovanie

Overenie zlyhalo s AADSTS70002 alebo AADSTS50053

(AADSTS70002: Chyba pri overovaní poverení. AADSTS50053: Pokúsili ste sa veľakrát prihlásiť s nesprávnou identifikáciou používateľa alebo heslom)

Ak používate priame overovanie v službách Power BI Embedded a Microsoft Entra, pri pokuse o prihlásenie sa môže zobraziť približne takéto hlásenie, pretože priame overovanie nie je povolené.

Priame overovanie môžete znova zapnúť pomocou politiky spoločnosti Microsoft Entra, ktorá je zameraná na organizáciu, alebo pomocou objektu služby.

Odporúčame, aby ste túto politiku povolili len pre jednotlivé aplikácie.

Ak chcete vytvoriť túto politiku, musíte byť globálny Spravovanie strátor pre adresár, v ktorom vytvárate politiku a priraďujete ju. Tu je ukážkový skript na vytvorenie politiky a jej priradenie k SP pre túto aplikáciu:

  1. Nainštalujte súpravu Microsoft Graph PowerShell SDK.

  2. Spustite nasledujúce príkazy prostredia PowerShell riadok po riadku (uistite sa, že premenná $sp nemá viac výsledkov než jednu aplikáciu).

    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 priradení politiky počkajte približne 15 – 20 sekúnd na distribúciu pred testovaním.

Generovanie tokenu zlyhá po zadaní efektívnej identity

GenerateToken môže zlyhať s efektívnou identitou poskytnutou z niekoľkých rôznych dôvodov:

  • Sémantický model nepodporuje efektívnu identitu.
  • Nebolo zadané meno používateľa.
  • Nebola zadaná rola.
  • DatasetId nebola zadaná.
  • Používateľ nemá správne povolenia.

Problém zistíte vykonaním nasledujúcich krokov:

  • Spustite príkaz získať množinu údajov. Je vlastnosť IsEffectiveIdentityRequired pravdivá?
  • Meno používateľa sa vyžaduje pre všetky .EffectiveIdentity
  • Ak IsEffectiveIdentityRolesRequired je hodnota true, vyžaduje sa rola.
  • DatasetId Sa vyžaduje pre všetky EffectiveIdentity.
  • V prípade služieb Analysis Services musí byť hlavný používateľ správcom brány.

AADSTS90094: Udelenie vyžaduje povolenie správcu

Príznaky:

Ak sa používateľ, ktorý nie je správcom, pokúša prihlásiť do aplikácie po prvýkrát počas udeľovania súhlasu, zobrazí sa mu jedna z nasledujúcich chýb:

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

    Screenshot of the Azure portal window sign in dialog, which shows the Consent Test permission error.

Správca sa môže prihlásiť a úspešne udeliť súhlas.

Príčinou:

Súhlas používateľa je pre nájomníka zakázaný.

K dispozícii je niekoľko opráv:

  • Povoliť súhlas používateľa pre celého nájomníka (všetci používatelia, všetky aplikácie):
  1. Na portáli Azure prejdite na položky Microsoft Entra ID>Users (Používatelia) a groups>User settings (Nastavenia používateľa).
  2. Povoľte, aby používatelia vyjadrili súhlas s aplikáciami, ktoré pristupujú k údajom spoločnosti v ich mene a zmeny uložia.

Screenshot of the Azure portal.

  • Správca môže udeliť povolenia pre aplikáciu – buď pre celého nájomníka, alebo pre konkrétneho používateľa.

Chyba CS1061

Stiahnite si Microsoft.IdentityModel.Clients.ActiveDirectory , ak sa zobrazí nasledujúca chyba:

'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 pre iného nájomníka (hosťovského používateľa)

Ak chcete povoliť hosťovským používateľom služby Microsoft Entra prístup k vášmu obsahu, musíte v authorityUri parametri zadať ID nájomníka.

  • URL adresa na overovanie v nájomníkovi vašej organizácie:

    https://login.microsoftonline.com/common/v2.0

  • URL adresa na overenie hosťa používateľa entra spoločnosti Microsoft:

    https://login.microsoftonline.com/<tenant ID>

Ak chcete nájsť SVOJE ID nájomníka, môžete použiť pokyny v téme Vyhľadanie ID nájomníka microsoft Entra a názvu primárnej domény.

Ďalšie informácie nájdete v téme Vytvorenie viacnásobného nájomníka aplikácie.

Zdroje dát

Nezávislý dodávateľ softvéru chce mať iné poverenia pre ten istý zdroj údajov

Zdroj údajov môže mať jeden súbor poverení pre jedného hlavného používateľa. Ak potrebujete použiť iné poverenia, vytvorte viac hlavných používateľov. Potom priraďte rôzne poverenia do kontextov hlavných používateľov a vkladanie vložte pomocou tokenu Microsoft Entra daného používateľa.

Riešenie problémov s vloženou aplikáciou pomocou objektu IError

Pomocou objektu IError object vráteného udalosťou chyby zo súpravy JavaScript SDK môžete ladiť aplikáciu a lepšie porozumieť príčine chyby.

Po získaní objektu IError by ste sa mali pozrieť na príslušnú tabuľku s bežnými chybami, ktorá je vhodná pre typ vkladacieho kódu, ktorý používate. Porovnajte vlastnosti IError s tými v tabuľke a nájdite možné dôvody zlyhania.

Typické chyby pri vkladaní pre používateľov služby Power BI

Správa Podrobná správa Kód chyby Možné dôvody
TokenExpired Access token has expired, resubmit with a new access token (Platnosť prístupového tokenu uplynula, odošlite znova s novým prístupovým tokenom) 403 Platnosť tokenu uplynula
PowerBIEntityNotFound Get report failed (Nepodarilo sa získať zostavu) 404
  • Nesprávne ID zostavy
  • Zostava neexistuje
  • Neplatné parametre powerbiToken parameter not specified (parameter powerbiToken nebol zadaný) Nie je k dispozícii
  • Nebol poskytnutý prístupový token
  • Nebolo poskytnuté ID zostavy
  • LoadReportFailed (NačítanáZostava) Fail to initialize - Could t resolve cluster (Inicializácia zlyhala – nepodarilo sa vyhodnotiť klaster) 403
  • Zlý prístupový token
  • Typ vloženia nezodpovedá typu tokenu
  • PowerBINotAuthorizedException Get report failed (Nepodarilo sa získať zostavu) 401
  • Nesprávne ID skupiny
  • Neoprávnená skupina
  • TokenExpired Access token has expired, resubmit with a new access token. Nepodarilo sa vykresliť vizuál zostavy s názvom: názov vizuálu Nie je k dispozícii
  • Dotazovanie údajov
  • Platnosť tokenu uplynula
  • Otvoriť Pripojenie ionError Nie je možné zobraziť vizuál. Nepodarilo sa vykresliť vizuál zostavy s názvom: názov vizuálu Nie je k dispozícii Kapacita bola pozastavená alebo odstránená počas toho, ako bola zostava týkajúca sa kapacity otvorená počas relácie
    ExplorationContainer_FailedToLoadModel_DefaultDetails Nepodarilo sa načítať schému modelu súvisiacu s touto zostavou. Uistite sa, že máte pripojenie na server a skúste to znova. Nie je k dispozícii
  • Kapacita bola pozastavená
  • Kapacita bola odstránená
  • Typické chyby pri vkladaní pre používateľov bez služby Power BI (pomocou tokenu na vloženie)

    Správa Podrobná správa Kód chyby Dôvodov
    TokenExpired Access token has expired, resubmit with a new access token (Platnosť prístupového tokenu uplynula, odošlite znova s novým prístupovým tokenom) 403 Platnosť tokenu uplynula
    LoadReportFailed (NačítanáZostava) Get report failed (Nepodarilo sa získať zostavu) 404
  • Nesprávne ID zostavy
  • Zostava neexistuje
  • LoadReportFailed (NačítanáZostava) Get report failed (Nepodarilo sa získať zostavu) 403 ID zostavy nezodpovedá tokenu
    LoadReportFailed (NačítanáZostava) Get report failed (Nepodarilo sa získať zostavu) 500 Zostavou poskytnuté ID nie je identifikátorom GUID
    Neplatné parametre powerbiToken parameter not specified (parameter powerbiToken nebol zadaný) Nie je k dispozícii
  • Nebol poskytnutý prístupový token
  • Nebolo poskytnuté ID zostavy
  • LoadReportFailed (NačítanáZostava) Fail to initialize - Could t resolve cluster (Inicializácia zlyhala – nepodarilo sa vyhodnotiť klaster) 403 Nesprávny typ tokenu alebo zlý token
    PowerBINotAuthorizedException Get report failed (Nepodarilo sa získať zostavu) 401 Nesprávne/neoprávnené ID skupiny
    TokenExpired Access token has expired, resubmit with a new access token. Nepodarilo sa vykresliť vizuál zostavy s názvom: názov vizuálu Nie je k dispozícii
  • Dotazovanie údajov
  • Platnosť tokenu uplynula
  • Otvoriť Pripojenie ionError Nie je možné zobraziť vizuál. Nepodarilo sa vykresliť vizuál zostavy s názvom: názov vizuálu Nie je k dispozícii Kapacita bola pozastavená alebo odstránená počas toho, ako bola zostava týkajúca sa kapacity otvorená počas relácie
    ExplorationContainer_FailedToLoadModel_DefaultDetails Nepodarilo sa načítať schému modelu súvisiacu s touto zostavou. Uistite sa, že máte pripojenie na server a skúste to znova. Nie je k dispozícii
  • Kapacita bola pozastavená
  • Kapacita bola odstránená
  • Get report fails - error 401 - resolve themselves

    V scenári, keď používateľ vlastní údaje, sa používateľom niekedy zobrazí chyba 401, ktorá sa vyrieši po prístupe na portál služby Power BI. Keď sa vyskytne chyba 401, pridajte do aplikácie volanie Povolenia RefreshUser , ako je vysvetlené v téme Aktualizácia povolení používateľa.

    Sémantické modely

    Spravujte, ktorú časť údajov si používatelia môžu zobraziť

    Každý používateľ s povoleniami na čítanie pre sémantický model môže vidieť celú schému (tabuľky, stĺpce a mierky) a všetky údaje. Nie je možné ovládať zobrazovanie povolení pre nespracované a agregované údaje samostatne v rovnakom sémantickom modeli.

    Ak chcete spravovať, ktorú časť údajov si používatelia môžu zobraziť, použite jeden z nasledujúcich postupov:

    • Filtrovanie na úrovni riadkov pomocou zabezpečenia na úrovni riadkov v službe Power BI.

    • Zabezpečenie na úrovni objektu (Object Level Security, OLS).

    • Oddeľte údaje do rôznych sémantických modelov. Môžete napríklad vytvoriť sémantický model, ktorý obsahuje iba agregované údaje, a poskytnúť používateľom prístup len k tomuto sémantickému modelu.

    Vykresľovanie obsahu

    Ak chcete vyriešiť problémy s vykresľovaním vo vložených položkách Služby Power BI (napríklad v zostavách a tabuliach), prečítajte si túto časť.

    Overte, či sa položka Power BI načíta v služba Power BI

    Ak chcete vylúčiť problémy s aplikáciou alebo rozhraním API na vkladanie, overte, či je možné zobraziť položku v služba Power BI (powerbi.com).

    Overte, či sa položka Power BI načíta na lokalite Power BI Embedded Analytics

    Ak chcete vylúčiť problémy v aplikácii, overte, či je položka služby Power BI zobrazená na lokalite služby Power BI Embedded Analytics.

    Overte, či neuplyla platnosť prístupového tokenu

    Prístupové tokeny (token Microsoft Entra alebo token na vloženie) sú z bezpečnostných dôvodov obmedzené. Prístupový token by ste mali neustále monitorovať a v prípade potreby obnovovať. Ďalšie informácie nájdete v téme Obnovenie prístupového tokenu.

    Výkon

    Ak chcete získať vložený obsah s najlepším výkonom, odporúčame postupovať podľa osvedčených postupov pre vloženú analýzu služby Power BI.

    Inštalačný nástroj na vkladanie

    Pomocou nástroja na nastavenie prostredia na vkladanie si môžete rýchlo stiahnuť vzorovú aplikáciu. Potom môžete svoju aplikáciu porovnať s ukážkovou.

    Požiadavky

    Pred použitím nástroja na nastavenie prostredia pre vkladanie skontrolujte, či ste dosiahli správne požiadavky. Potrebujete konto Power BI Pro a predplatné na Microsoft Azure .

    Bežné problémy

    K bežným problémom, s ktorými sa môžete stretnúť pri testovaní pomocou nástroja na nastavenie prostredia pre vkladanie, patria nasledujúce:

    Použitie ukážkovej aplikácie na vloženie pre zákazníkov

    Ak pracujete s prostredím Embed for your customers (Vloženie pre zákazníkov ), uložte a rozbaľte súbor PowerBI-Developer-Samples.zip . Potom otvorte priečinok PowerBI-Developer-Samples-master\App Owns Data a spustite súbor PowerBIEmbedded_AppOwnsData.sln .

    • Pri výbere možnosti Udeliť povolenia (krok Udeliť povolenia) sa zobrazí nasledujúca chyba:
    AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
    

    Riešením je zavrieť kontextovú ponuku, počkať niekoľko sekúnd a skúsiť to znova. Túto akciu možno budete musieť niekoľkokrát zopakovať. Časový interval spôsobí, že v dôsledku problému sa nevykoná proces registrácie aplikácie do okamihu, keď je k dispozícii pre externé rozhrania API.

    • Pri spustení ukážkovej aplikácie sa zobrazí nasledujúce chybové hlásenie:
    Password is empty. Please fill password of Power BI username in web.config.
    

    K tejto chybe dochádza preto, lebo jedinou hodnotou, ktorá sa nevložili do ukážkovej aplikácie, je vaše heslo používateľa. Otvorte súbor Web.config v riešení a do pbiPassword poľa zadajte heslo používateľa.

    • Ak sa zobrazí chyba:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    Musíte použiť konto Microsoft Entra, ktoré nemá povolené viacfaktorové overovanie.

    Použitie ukážkovej aplikácie na vloženie pre organizáciu

    Ak pracujete s prostredím Embed for your organization (Vloženie pre organizáciu), uložte a rozbaľte súbor PowerBI-Developer-Samples.zip. Potom otvorte priečinok PowerBI-Developer-Samples-master\User Owns Data\integrate-report-web-app a spustite súbor pbi-saas-embed-report.sln .

    • Pri spustení ukážkovej aplikácie pre Embed for your organization (Vloženie pre organizáciu ) sa zobrazí nasledujúca chyba:
    AADSTS50011: The reply URL specified in the request doesn't match the reply URLs configured for the application: <client ID>
    

    Dôvodom tejto chyby je, že URL adresa na presmerovanie zadaná pre aplikáciu webového servera sa líši od URL adresy v ukážke. Ak chcete zaregistrovať ukážkovou aplikáciou, ako URL adresu na presmerovanie použite adresu https://localhost:13526/ .

    Ak chcete upraviť zaregistrovanú aplikáciu, aktualizujte aplikáciu zaregistrovanú v Microsoft Entra, aby aplikácia mohla poskytovať prístup k webovým rozhraniam API.

    Ak chcete upraviť profil používateľa alebo údaje služby Power BI, prečítajte si, ako upraviť údaje služby Power BI.

    • Ak sa zobrazí chyba:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    Musíte použiť konto Microsoft Entra, ktoré nemá povolené viacfaktorové overovanie.

    Ďalšie informácie nájdete v téme Najčastejšie otázky o službe Power BI Embedded.

    Ak potrebujete ďalšiu pomoc, obráťte sa na podporu alebo vytvorte žiadosť o podporu prostredníctvom portálu Azure a uveďte chybové hlásenia, ktoré sa zobrazili.

    Máte ďalšie otázky? Spýtajte sa Komunita Power BI