Anwendung

Nutzung

.
Hierarchie
application
Standardwert
Keine

Akzeptiert
Einen Namen für die Anwendung und ihre Unterparameter, um sie zu definieren

Sonderregeln
application muss einen url- oder file-Parameter haben, aber nicht beides

Definition

Der Parameter application definiert eine Anwendung für das Extension Framework von Looker. Nachdem eine Erweiterung zu einem Projekt hinzugefügt wurde, können Looker-Nutzer mit entsprechenden Berechtigungen die Erweiterung im Menü Suchen von Looker sehen. Wenn ein Nutzer die Erweiterung im Menü Durchsuchen auswählt, wird die Anwendung in Looker geöffnet.

Wenn Ihr Administrator die Labs-Funktion für Erweiterte Navigation aktiviert hat, werden die Erweiterungen im neuen Navigationsbereich links unter Anwendungen aufgeführt.

Der Parameter application hat die folgenden Unterparameter:

Die Anwendung muss entweder einen url- oder einen file-Parameter haben, aber nicht beides.

label

Gibt den Namen der Anwendung an, die dem Nutzer im Menü Durchsuchen angezeigt wird. Die label kann lokalisiert werden, wenn du dein LookML-Modell lokalisierst.

url

Der Parameter url wird nur für Entwicklungszwecke verwendet und sollte auf einen Entwicklungsserver verweisen, der auf dem Computer des Entwicklers ausgeführt wird. Beispiel:

url: "http://localhost:8080/bundle.js"

Nach der Entwicklung können Sie die Datei in die Looker-IDE ziehen und dann den Parameter file verwenden, um auf die Datei zu verweisen.

file

Gibt den Pfad zu einer JavaScript-Datei (mit der Erweiterung .js) an, die die Anwendung definiert. Der Pfad ist relativ zum Projektstamm. Der Parameter file verweist beispielsweise auf die Datei bundle.js im Verzeichnis apps des LookML-Projekts:

file: "apps/bundle.js"

sri_hash

Gibt einen Subresource Integrity (SRI)-Hashwert für die JavaScript-Überprüfung an. Es kann entweder mit dem Parameter file oder url verwendet werden. Der Wert sri_hash sollte das Präfix sha384- nicht enthalten.

sri_hash wird ignoriert, wenn url einen Entwicklungsserver angibt.

entitlements

Der Parameter entitlements gibt die Ressourcen an, auf die die Erweiterung zugreifen kann. Die Erweiterung kann nur auf die Ressourcen zugreifen, wenn sie in entitlements aufgeführt ist.

In einer Erweiterungsanwendung müssen Berechtigungen angegeben werden. Die Anwendung kann ohne sie nicht ausgeführt werden.

Der Parameter entitlements enthält die folgenden Unterparameter. Wenn kein Unterparameter enthalten ist, erhält die Erweiterung standardmäßig keinen Zugriff auf diese Berechtigung.

Parameter Beschreibung Beispiel
local_storage Gibt an, ob die Erweiterung auf lokalen Speicher zugreifen darf. local_storage: yes
navigation Gibt an, ob die Erweiterung zu einer anderen Seite in Looker gehen darf. navigation: yes
new_window Gibt an, ob die Erweiterung ein neues Browserfenster oder einen neuen Tab öffnen darf. new_window: yes
new_window_external_urls Eine durch Kommas getrennte Liste von URLs oder Teil-URLs, für die eine Erweiterung ein neues Fenster öffnen kann. Für diese Berechtigung ist die Berechtigung new_window erforderlich. Sie können Platzhalterzeichen wie * für Subdomains und Pfade verwenden. new_window_external_urls: ["https://www.gmail.com"]
use_form_submit Gibt an, ob die Erweiterung Formulare senden darf. Für Looker-Komponenten, die HTML-Formulare verwenden, muss use_form_submit: yes ordnungsgemäß funktionieren. use_form_submit: yes
use_embeds Gibt an, ob die Erweiterung das Looker Embed SDK verwenden darf. use_embeds: yes
use_downloads ADDED 21.6 Gibt an, ob die Erweiterung Dateien herunterladen darf. use_downloads: yes
use_iframes ADDED 21.6 Gibt an, ob die Erweiterung einen iFrame erstellen darf. use_iframes: yes
use_clipboard ADDED 21.8 Gibt an, ob die Erweiterung in die Zwischenablage schreiben darf. Aus Sicherheitsgründen dürfen Erweiterungen nicht aus der Zwischenablage des Systems gelesen werden. use_clipboard: yes
core_api_methods Eine durch Kommas getrennte Liste der Looker API-Methoden, die die Erweiterung verwendet. core_api_methods: ["run_inline_query", "lookml_model_explore", "all_lookml_models"]
external_api_urls Eine durch Kommas getrennte Liste der URLs für externe APIs, die von der Erweiterung verwendet werden. Wie im Beispiel gezeigt, können Sie Platzhalterzeichen wie * verwenden.

Ab Looker 21.6 müssen Erweiterungen, die direkte JavaScript-Aufrufe vom Typ fetch oder XHR.open verwenden (statt der API-Aufrufe extensionSDK.fetchProxy oder extensionSDK.serverProxy), die URLs in die Liste aufnehmen.
external_api_urls: ["http://example.com:3000", "https://*.googleapis.com"]
oauth2_urls Eine durch Kommas getrennte Liste der URLs für die OAuth 2.0-Authentifizierung und den Codeaustausch, die von der Erweiterung verwendet werden. oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth"]
global_user_attributes Eine kommagetrennte Liste von systemweiten Nutzerattributen, die von der Erweiterung verwendet werden. global_user_attributes: ["company", "department"]
scoped_user_attributes Eine durch Kommas getrennte Liste von erweiterungsspezifischen Nutzerattributen, die in der Erweiterung verwendet werden. scoped_user_attributes: ["first_name", "last_name"]

Beispiel

Im Folgenden finden Sie den Parameter application aus der Projektmanifestdatei für das Beispiel einer Senkenerweiterung in der Küche von Looker:

application: kitchensink {
  label: "Kitchen sink"
  url: "http://localhost:8080/bundle.js"
  entitlements: {
    local_storage: yes
    navigation: yes
    new_window: yes
    use_form_submit: yes
    use_embeds: yes
    core_api_methods: ["all_connections","search_folders", "run_inline_query", "me", "all_looks", "run_look"]
    external_api_urls: ["http://127.0.0.1:3000", "http://localhost:3000", "https://∗.googleapis.com", "https://∗.github.com", "https://REPLACE_ME.auth0.com"]
    oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth", "https://github.com/login/oauth/authorize", "https://dev-5eqts7im.auth0.com/authorize", "https://dev-5eqts7im.auth0.com/login/oauth/token", "https://github.com/login/oauth/access_token"]
    scoped_user_attributes: ["user_value"]
    global_user_attributes: ["locale"]
  }
}

Weitere Beispiele finden Sie im Extension-examples-Repository von Looker.