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

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

Nástroje na riešenie problémov

Trasovanie Fiddler

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

Snímka obrazovky znázorňujúca okno výstupu nástroja Fiddler, ktoré zobrazuje rozhranie API služby Power BI prenos údajov cez HTTP.

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 hodnotné informácie.

Snímka obrazovky karty Sieť v okne pre vývojárov webového prehliadača, ktorá zobrazuje sieťový prenos.

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

Tento zlomok kódu ukazuje, ako môžete 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žiadavok (a podrobností o chybách na účely riešenia problémov) 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 Azure AD 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 nezobrazujú 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 objektu?

Pri registrácii aplikácie Azure AD 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 Azure AD.

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

Snímka obrazovky okna portálu Azure, ktorá zobrazuje ID objektu v okne Prehľad aplikácie Azure AD.

ID hlavného objektu

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

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

Snímka obrazovky okna portálu Azure, ktorá zobrazuje možnosť Spravovaná aplikácia v lokálnom adresári v okne Prehľad aplikácie Azure AD.

V časti Vlastnosti skopírujte ID objektu.

Snímka obrazovky okna portálu Azure, ktorá zobrazuje ID hlavného objektu v časti vlastnosti v okne Prehľad aplikácie Azure AD.

Overenie

Overenie zlyhalo s chybou 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 Power BI Embedded a Azure AD priame overovanie, pri pokuse o prihlásenie sa môže zobraziť správa ako predchádzajúca správa, pretože priame overovanie nie je povolené.

Priame overovanie môžete znova zapnúť pomocou politiky Azure AD, 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 správca adresára, v ktorom vytvárate politiku a priraďujete ju. Tu je vzorový skript na vytvorenie politiky a jej priradenie k SP pre túto aplikáciu:

  1. Nainštalujte Azure AD ukážku modulu prostredia PowerShell.

  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-AzureAD
$sp = Get-AzureADServicePrincipal -SearchString "Name_Of_Application"
$policy = New-AzureADPolicy -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}") -DisplayName EnableDirectAuth -Type HomeRealmDiscoveryPolicy -IsOrganizationDefault $false
Add-AzureADServicePrincipalPolicy -Id $sp.ObjectId -RefObjectId $policy.Id 

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 efektívnu identitu poskytnutú z niekoľkých rôznych dôvodov môže zlyhať:

  • Množina údajov nepodporuje efektívnu identitu.
  • Nebolo zadané meno používateľa.
  • Nebola zadaná rola.
  • DatasetId nebola zadaná.
  • Používateľ nemá správne povolenia.

Ak chcete zistiť tento problém, vyskúšajte tieto kroky:

  • Spustite príkaz získať množinu údajov. Má vlastnosť hodnotu IsEffectiveIdentityRequired true?
  • Meno používateľa je povinné pre všetky EffectiveIdentity.
  • Ak IsEffectiveIdentityRolesRequired je hodnota true, vyžaduje sa parameter Role.
  • DatasetId systém je povinný pre všetky EffectiveIdentity.
  • V službe Analysis Services musí byť hlavný používateľ správcom brány.

AADSTS90094: Udelenie vyžaduje povolenie správcu

Príznaky:

Pokiaľ 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.
    

    Snímka obrazovky dialógového okna prihlásenia na portál Azure, v ktorom sa zobrazuje chyba povolenia Consent Test (Test súhlasu).

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

Hlavná príčina:

Súhlas používateľa je pre nájomníka neaktívny.

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žku Používatelia služby Azure Active Directory>a zoskupte>položku Používateľské nastavenia.
  2. Povoľte používateľom udeliť súhlas s aplikáciami, ktoré pristupujú k údajom spoločnosti v ich mene a uložte zmeny.

Snímka obrazovky portálu 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?)

Azure AD token pre iného nájomníka (hosťovského používateľa)

Ak chcete pri vkladaní obsahu pre svoju organizáciu povoliť Azure AD hosťovským používateľom prístup k vášmu obsahu, musíte do parametra zadať ID nájomníkaauthorityUri.

  • 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 Azure AD používateľa:

    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 Azure AD a názvu primárnej domény.

Ďalšie informácie nájdete v téme Vytvorenie aplikácie s viacerými nájomníkmi.

Zdroje údajov

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 ďalších hlavných používateľov. Potom priraďte rôzne poverenia do kontextov hlavných používateľov a vkladanie použite token Azure AD 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 vyriešite problém s aplikáciou a lepšie porozumiete 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 určená pre typ vkladacieho prostriedku, ktorý používate. Porovnajte vlastnosti objektu IError s tými v tabuľke a nájdite prípadné dôvody zlyhania.

Zvyčajné 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
  • Invalid parameters powerbiToken parameter not specified (parameter powerbiToken nebol špecifikovaný) Nie je k dispozícii
  • Nebol poskytnutý prístupový token
  • Nebolo poskytnuté ID zostavy
  • LoadReportFailed Fail to initialize - Could not resolve cluster (Inicializácia zlyhala – nepodarilo sa vyhľadať 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
  • Údaje dotazu
  • Platnosť tokenu uplynula
  • OpenConnectionError Can't display the visual. 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 Couldn't load the model schema associated with this report. Make sure you have a connection to the server and try again. (Nepodarilo sa načítať schému modelu priradenú k tejto zostave. Uisite sa, že ste pripojený k serveru a skúste to znova). Nie je k dispozícii
  • Kapacita bola pozastavená
  • Kapacita bola odstránená
  • Zvyčajné chyby pri vkladaní pre používateľov bez služby Power BI (používajúcich tokenu na vloženie)

    Správa Podrobná správa Kód chyby 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
    LoadReportFailed Get report failed (Nepodarilo sa získať zostavu) 404
  • Nesprávne ID zostavy
  • Zostava neexistuje
  • LoadReportFailed Get report failed (Nepodarilo sa získať zostavu) 403 ID zostavy nezodpovedá tokenu
    LoadReportFailed Get report failed (Nepodarilo sa získať zostavu) 500 Zostavou poskytnuté ID nie je identifikátorom GUID
    Invalid parameters powerbiToken parameter not specified (parameter powerbiToken nebol špecifikovaný) Nie je k dispozícii
  • Nebol poskytnutý prístupový token
  • Nebolo poskytnuté ID zostavy
  • LoadReportFailed Fail to initialize - Could not resolve cluster (Inicializácia zlyhala – nepodarilo sa vyhľadať 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
  • Údaje dotazu
  • Platnosť tokenu uplynula
  • OpenConnectionError Can't display the visual. 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 Couldn't load the model schema associated with this report. Make sure you have a connection to the server and try again. (Nepodarilo sa načítať schému modelu priradenú k tejto zostave. Uisite sa, že ste pripojený k serveru a skúste to znova). Nie je k dispozícii
  • Kapacita bola pozastavená
  • Kapacita bola odstránená
  • Načítanie zostavy zlyhá – chyba 401 – vyriešiť samé seba

    V scenári Používateľ vlastní údaje sa niekedy používateľom 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 časti Aktualizácia povolení používateľa.

    Množiny údajov

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

    Každý používateľ s povoleniami na čítanie pre množinu údajov môže vidieť celú schému (tabuľky, stĺpce a mierky) a všetky údaje. Povolenia na zobrazovanie nespracovaných a agregovaných údajov nemôžete ovládať samostatne v tej istej množine údajov.

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

    Vykresľovanie obsahu

    Ak chcete vyriešiť problémy s vykresľovaním vo vložených položkách Power BI (napríklad v zostavách a tabuliach), pozrite 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 ihrisku vloženej analýzy služby Power BI

    Ak chcete vylúčiť problémy s aplikáciou, overte, či je možné zobraziť položku Power BI na ihrisku vloženej analýzy služby Power BI.

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

    Z bezpečnostných dôvodov majú prístupové tokeny (Azure AD token alebo token na vloženie) obmedzenú životnosť. Prístupový token by ste mali v prípade potreby neustále monitorovať a 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 pri vloženej analýze služby Power BI.

    Inštalačný nástroj prostredia na vkladanie

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

    Predpoklady

    Pred použitím nástroja na nastavenie prostredia pre vkladanie skontrolujte, či spĺňate správne požiadavky. Potrebujete konto Power BI Pro a predplatné 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.

    • Keď vyberiete možnosť Grant permissions (Udeliť povolenia), zobrazí sa nasledujúca chyba:
    AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
    

    Riešením je zavrieť chybu, počkať niekoľko sekúnd a skúsiť to znova. Je možné, že tento postup budete musieť niekoľkokrát zopakovať. Časový interval spôsobí, že v dôsledku problému sa nedokončí proces registrácie aplikácie do bodu, 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 nevkladá do ukážkovej aplikácie, je vaše heslo používateľa. Otvorte Web.config súbor v riešení a vyplňte pbiPassword pole heslom používateľa.

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

    Musíte použiť konto Azure AD, 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ážková aplikácia, použite https://localhost:13526/ ju ako URL adresu na presmerovanie.

    Ak chcete upraviť zaregistrovanú aplikáciu, aktualizujte aplikáciu zaregistrovanú v Azure AD, 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, zistite, ako upravovať údaje služby Power BI.

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

    Musíte použiť konto Azure AD, 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.

    Ďalšie kroky

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