Auf dieser Seite erfährst du, wie du die Funktion für das private Einbetten einrichtest. Bei der privaten Einbettung müssen Sie das HTML-Element <iframe> direkt verwalten, um Ihre Looker-Inhalte einzubetten. Außerdem muss sich der Nutzer separat von der Hostanwendung in Looker anmelden.
Hier ein Beispiel für den Code für die private Einbettung:
<iframe
src="https://instance.looker.com/embed/dashboards/4?Timeframe=14+day"
width="600"
height="300"
frameborder="0">
</iframe>
1. URL für eingebettete Inhalte erstellen
Betrachten wir ein Beispiel für Looker-Inhalte unter der URL https://instance.looker.com/dashboards/4?theme=red&Timeframe=14+day
. Anhand dieser Looker-Inhalts-URL erstellen wir die URL für eingebettete Inhalte und setzen das src
-Attribut des iFrames darauf. Sie können Ihre eigene Looker-Inhalts-URL verwenden, während Sie diese Schritte ausführen.
Die URL für eingebettete Inhalte aus dem vorherigen Codebeispiel lautet:
Die URL für eingebettete Inhalte besteht aus drei Teilen:
- Hostname: Hostname Ihrer Looker-Instanz
- Pfad: URL-Pfad des Looker-Inhalts mit dem Präfix
/embed
(mit zusätzlichen Schritten für Abfragevisualisierungen) - Parameter: URL-Parameter, mit denen Filter und Design festgelegt werden
Das Protokoll muss immer https://
sein. Sehen wir uns die einzelnen Teile genauer an.
Teil 1: Hostname
- Rufen Sie Ihre Looker-Inhalte auf. Beispiel für eine Looker-Inhalts-URL:
https://instance.looker.com/dashboards/4?theme=red&Timeframe=14+day
. - Der Hostname der URL für eingebettete Inhalte lautet
instance.looker.com
.
Teil 2: Pfad
Der URL-Pfad der eingebetteten Inhalte hängt von den eingebetteten Looker-Inhalten ab.
Alle Looker-Inhalte einbetten, mit Ausnahme von Abfragevisualisierungen
- Rufen Sie Ihre Looker-Inhalte auf. Beispiel für eine Looker-Inhalts-URL:
https://instance.looker.com/dashboards/4?theme=red&Timeframe=14+day
- Ermitteln Sie den Pfad der URL Ihrer Looker-Inhalte:
/dashboards/4
. - Fügen Sie der URL Ihrer Looker-Inhalte das Präfix
/embed
hinzu. Der Pfad der URL der eingebetteten Inhalte lautet/embed/dashboards/4
.
Abfragevisualisierung einbetten
- Rufen Sie die Abfragevisualisierung auf. Beispiel-URL:
instance.looker.com/explore/my_model/my_explore?qid=1234567890abcdefghij12
- Geben Sie die Client-ID für die Abfrage an. Der Parameter
qid
:1234567890abcdefghij12
ist die Client-ID Ihrer Abfrage, die die Abfrage und die Visualisierungseinstellungen darstellt. - Der URL-Pfad des eingebetteten Inhalts wird an
/embed/query-visualization/
angehängt und mit der Client-ID der Abfrage ergänzt. Der Pfad der Beispiel-URL für eingebettete Inhalte lautet/embed/query-visualization/1234567890abcdefghij12
.
Teil 3: Parameter
Mit den URL-Parametern für eingebettete Inhalte kannst du die Filter und das Design der eingebetteten Inhalte steuern.
Filter
- Rufen Sie die URL Ihrer Looker-Inhalte auf.
- Passen Sie die Filter für die Inhalte manuell an. In diesem Beispiel lautet die resultierende Looker-Inhalts-URL:
https://instance.looker.com/dashboards/4?Timeframe=14+day
- Die URL-Parameter für eingebettete Inhalte sind die URL-Parameter für Looker-Inhalte, z. B.
Timeframe=14+day
In diesem Beispiel wird mit dem Parameter Timeframe=14+day
der Wert des Filters Timeframe
des Dashboards festgelegt.
Designs
Im Leitfaden zu Designs erfahren Sie, wie Sie das Aussehen Ihrer eingebetteten Inhalte steuern.
2. URL für eingebettete Inhalte testen
Öffne die URL der eingebetteten Inhalte in deinem Browser, um eine Vorschau des Verhaltens und des Erscheinungsbildes der eingebetteten Inhalte zu sehen.
3. iFrame erstellen
- Erstelle das iFrame-Element in deiner Hostanwendung.
- Lege für das
src
-Attribut die URL des eingebetteten Inhalts fest. - Definieren Sie
width
,height
und andere Attribute so, dass Ihre eingebetteten Looker-Inhalte optimal dargestellt werden.
4. Probleme mit dem Nutzerzugriff berücksichtigen
Der Nutzer muss in Looker angemeldet sein, um Ihre eingebetteten Inhalte sehen zu können. Wenn der Nutzer nicht angemeldet ist, wird im Iframe die Fehlerseite 401 angezeigt.
Optionen für die Nutzeranmeldung
Ihre Nutzer haben zwei Möglichkeiten, sich in Looker anzumelden:
1. Melden Sie sich vorher in Looker an.
Der Nutzer muss sich in Looker im selben Browser anmelden, bevor er die eingebetteten Inhalte sehen kann.
2. Optionalen eingebetteten Looker-Anmeldebildschirm aktivieren
Fügen Sie Ihren URL-Parametern für eingebettete Inhalte allow_login_screen=true
hinzu, um im Iframe einen Looker-Anmeldebildschirm anzuzeigen, wenn der Nutzer nicht angemeldet ist. Die URL für eingebettete Inhalte in unserem Beispiel lautet dann: https://instance_name.looker.com/embed/dashboards/4?Timeframe=14+day&allow_login_screen=true
Beachten Sie dabei zwei Einschränkungen:
- Sie müssen die Einstellung „Same-Origin-Schutzmaßnahmen für Looker-Anmeldeseiten“ deaktivieren, um den Looker-Anmeldebildschirm im Iframe-Embed zu aktivieren.
- Wenn Ihre Looker-Instanz Nutzer mithilfe der Einmalanmeldung (SSO) bei einem Identitätsanbieter authentifiziert, blockiert der Identitätsanbieter möglicherweise den Anmeldebildschirm in Ihrem Iframe. In diesem Fall müssen Sie Option 1 verwenden.
Richtlinie zu Browser-Cookies von Nutzern
In Looker werden Cookies für die Nutzerauthentifizierung und den Sitzungsspeicher verwendet. Im Browser des Nutzers müssen Drittanbieter-Cookies aktiviert sein, wenn der Hostname der URL für die eingebetteten Inhalte der Looker-Instanz zu einer anderen Domain als der Ihrer Hostanwendung gehört.
In einigen Browsern wie Firefox und Safari ist standardmäßig eine Cookie-Richtlinie aktiviert, die Drittanbieter-Cookies blockiert. Wenn der Browser des Nutzers keine Drittanbieter-Cookies zulassen kann, können Sie Ihrer Looker-Instanz eine benutzerdefinierte Domain hinzufügen, damit die Hostanwendung und der Hostname der Looker-Instanz der eingebetteten Inhalts-URL sich in derselben Domain befinden.
5. Mit dem iframe interagieren
Erste Schritte mit dem Einbetten von Looker-iFrames in Post-Messaging
Nächste Schritte
Starten Sie mit der signierten Einbettung mit unserem Embed SDK und sehen Sie sich Beispiele für die Verwendung von Looker-Einbettungen an.