埋め込みコードのトラブルシューティングとデバッグ
埋め込み分析ソリューションを開発するときに、エラーが発生する可能性があります。 このような場合は、エラーが発生した理由を把握する必要があります。
error
イベントを使用して埋め込み分析ソリューションをデバッグし、エラーの原因をより深く理解します。
処理方法がわからないエラーが発生した場合は、Stack Overflowでいつでも検索または質問できます。
発生したエラーを見つける
エラーが発生すると、error
イベントが発生します。
element.on(...)
を使用してイベントをリッスンし、イベント ハンドラーを設定できます。
report.on('error', (errorObject) => {
...
});
イベントの処理の詳細については、「イベントを処理する方法」を参照してください。
error
イベントは、IError
オブジェクトを返します。
interface IError {
message: string;
detailedMessage?: string;
errorCode?: string;
level?: TraceType;
technicalDetails?: ITechnicalDetails;
}
たとえば、トークンの有効期限が切れると、次のエラー オブジェクトが表示されます。
{
"message": "TokenExpired",
"detailedMessage": "Access token has expired, resubmit with a new access token",
"errorCode": "403"
}
アクセス トークンの更新については、「アクセス トークンを更新する」を参照してください。
トラブルシューティング
IError
オブジェクトを取得した後、埋め込みアプリケーションのトラブルシューティング の IError オブジェクト テーブルで参照を比較し、エラーの考えられる原因を見つけます。
手記
Power BI ユーザー (組織のの
ブラウザーのコンソールでデバッグする
ブラウザーのコンソールでアプリをデバッグすることもできます。 たとえば、埋め込みインスタンスを作成した後に、次のコード スニペットを入力します。
// Add a listener to 'error' events
report.on('error', (errorObject) => {
const err = errorObject.detail;
// Print the error to console
console.log(`Error occurred: ${err.message}. Detailed message: ${err.detailedMessage}`);
console.log(err);
});
API エラーをキャッチする
ほとんどのクライアント API は、
async
/
await
パターンを使用している場合は、try
/catch
を使用して潜在的なエラーをキャッチする必要があります。 例えば:
try {
...
// Set a new access token
await report.setAccessToken(newAccessToken.token);
} catch (e) {
...
}
async
/
await
パターンを使用していない場合は、catch
関数を使用して潜在的なエラーをキャッチできます。 例えば:
// Set a new access token
report.setAccessToken(newAccessToken.token).catch(e => {
...
});
関連コンテンツ
- 埋め込みアプリケーションの のトラブルシューティング
- イベント を処理する方法
- アクセス トークンの を更新する
- Stack Overflow