Docs Menu
Docs Home
/
Atlas Charts
/ / /

Google ログインで認証されたチャートの埋め込み

項目一覧

  • 前提条件
  • 手順
  • チャートの認証済み埋め込みの有効化
  • Google クライアント ID の作成
  • Google ログインを使用するように Charts を設定する
  • チャートを表示するためのウェブアプリの作成
  • Node.js アプリのカスタマイズ

このチュートリアルでは、サンプルアプリケーションを構成して、ウェブページに埋め込まれた Google 認証チャートをレンダリングする方法について説明します。

チャートを表示するには、ユーザーは Google アカウントでログインする必要があります。 ユーザーが Google でログインしない場合、Charts は認証されたチャートビューをレンダリングしません。

  • リンクされた Charts インスタンスの埋め込み認証プロバイダを構成するには、Atlas プロジェクト オーナーである必要があります。

  • 新しいダッシュボードの作成

  • チャートの作成

認証済み埋め込みを有効にして、Charts ベース URL とチャート ID を生成します。 ウェブページにチャートを表示するには、Charts base URL とチャート ID が必要です。

1

ダッシュボード ページから、埋め込みるグラフを含むダッシュボードを選択します。

2

ダッシュボードから次をクリックします:埋め込み情報にアクセスするには、チャートの右上にある を参照してください。 ドロップダウン メニューから Embed chartを選択します。

注意

埋め込みが有効になっているダッシュボード上のグラフは、 Embed Chartオプションが自動的に有効になります。 したがって、埋め込みが有効になっている ダッシュボード内のグラフに対してEmbed chartオプションを選択することはできません。

3

このチャートが使用するデータソースで外部共有をすでに有効にしている場合は、この手順をスキップします。 データソースへの埋め込みをまだ有効にしていない場合は、これで有効にできます。 Configure external sharingリンクをクリックします。

4
埋め込み認証チャート
クリックして拡大します
5
6

チャートを表示する各ユーザーに対して MongoDB フィルター ドキュメントを挿入する関数を指定できます。 これは、ユーザー固有のグラフをレンダリングするのに便利です。

次のフィルター関数は、ドキュメントの ownerIdフィールドが埋め込み認証プロバイダのトークンのsubフィールドの値と一致するデータのみをレンダリングします。

function getFilter(context) {
return { ownerId: context.token.sub };
}

Tip

以下も参照してください。

ユーザーごとにフィルターを挿入する方法の詳細については、「ユーザー固有のフィルターを挿入 」を参照してください。

7

チャート ビューアがデータをフィルタリングできるフィールドを指定します。 デフォルトでは、フィールドは指定されていません。つまり、少なくとも 1 つのフィールドを明示的に許可するまでチャートをフィルタリングできません。

Tip

以下も参照してください。

フィルタ可能なフィールドの詳細については、「 フィルタ可能なフィールドの指定 」を参照してください。

8

これらの値をアプリケーション コードで 埋め込み認証プロバイダの属性 とともに使用して、チャートを埋め込みます。

Google API コンソール プロジェクトを作成して Google クライアント ID を生成します。 Google ログインを使用するように Charts を設定するには、Google クライアント ID が必要です。

Google API Console プロジェクトを作成するには、「 Google ログインをウェブ アプリに統合する 」を参照してください。

1

Atlas Charts がまだ表示されていない場合は、Atlas UI の [ Charts ] タブをクリックします。

Atlas がプロジェクトにリンクされた Charts のインスタンスを起動します。

2

サイドバーの [ Development ] 見出しの下の [ Embeddingをクリックします。

3

[Authentication Settings] タブをクリックします。

4
  1. Authentication providersセクションから [ Add ] をクリックします。

  2. Nameフィールドに、プロバイダーのわかりやすい名前を入力します。

  3. Providerリストから、 Googleを選択します。

  4. Google Client Idフィールドに、作成した Google クライアント ID を入力します。

  5. [Save] をクリックします。

MongoDB は、埋め込み SDK を使用して Google 認証を使用して埋め込みチャートを表示する方法を示す事前構築済みのサンプルアプリを提供しています。

Atlas Chartsサンプル アプリを実行するには、 埋め込み例 - Google 認証 のクローンを作成しますGithub Readmeのリポジトリを参照してください。 ファイルの指示に従ってアプリの使用を開始します。サンプル チャートを使用してこのアプリをそのまま実行することも、既存のチャートを使用するようにカスタマイズすることもできます。

編集する必要があるすべての行は、 ~REPLACE~を含むコメントでマークされます。

1

ファイルindex.htmlauthenticated-googleプロジェクトのルート ディレクトリにあります。

2

既存の Google クライアント ID を Google クライアント ID に置き換えます。

<!-- Optional: ~REPLACE~ content with your Google Client ID -->
<meta
name="google-signin-client_id"
content="012345678910-ifpoccch8js9srh9obfdn683h1iss2ag.apps.googleusercontent.com"
/>

Google クライアント ID は、Google API コンソール プロジェクトを作成すると表示されます。 Google クライアント ID の作成手順については、「 Google クライアント ID の作成」を参照してください。

3

既存のbaseUrlを、表示するチャートのベース URL に置き換えます。

const sdk = new ChartsEmbedSDK({
baseUrl: "https://charts-dev.mongodb.com/charts-exampleproject-fjotk", // Optional: ~REPLACE~ with your Charts URL
getUserToken: () => id_token
});

Charts ベース URL は埋め込みオプション モーダル ウィンドウに表示されます。 チャートの埋め込みを有効にする方法の詳細な手順については、「 SDK の埋め込み」を参照してください。

4

既存のchartIdを、表示するチャートの ID に置き換えます。

const chart = sdk.createChart({
chartId: "example-acaf-4af0-8320-5099bfebd1bd", // Optional: ~REPLACE~ with your Chart ID
});

チャート ID は、埋め込みオプションのモーダル ウィンドウに表示されます。 チャートの埋め込みを有効にする方法の詳細な手順については、「 SDK の埋め込み」を参照してください。

アプリをカスタマイズしたら、実行可能です。

戻る

埋め込みチュートリアル