Angenommen, Sie möchten eine Lösung für den Vertrieb Unternehmen. Die Vertriebsorganisation ist in mehrere Regionen unterteilt, in denen jede einen eigenen Regional Manager. Das Verkaufs-Dataset in BigQuery enthält Umsätze Betrag nach Region und Datum.
Die vorgeschlagene Lösung hat ein zentrales Dashboard, können nur Verkaufsdaten für ihre eigenen Regionen anzeigen.
Voraussetzungen
- Dashboard-Betrachter werden mit einem Google-Konto angemeldet.
- Eine Zuordnung zwischen der E-Mail-Adresse des Nutzers und den Daten/Zeilen ist verfügbar. auf die Sie zugreifen können.
- Für den Zugriff auf BigQuery-Daten wird ein Dienstkonto verwendet. Daher ist die Abrechnung werden zentralisiert und vom Dashboard-Anbieter verwaltet.
Beschränkungen
- Für das Dashboard ist eine einmalige Autorisierung von jedem Betrachter erforderlich. Ansicht.
- Betrachter können das Dashboard nicht bearbeiten und keine Elemente für andere freigeben.
- Wenn Sie Workspace-Kunde sind und Ihr Administrator die Freigabe deaktiviert hat Drive-Dateien zu „Jeder, der über den Link verfügt“ aktivieren, entfernen Sie entweder die Freigabe oder die Lösung für ein Gmail.com-Konto entwickeln.
Lösung
Führen Sie alle folgenden Schritte aus, um die Lösung zu implementieren.
Neuen Community-Connector erstellen
Lesen Sie den Artikel Funktionsweise von Community-Connectors und absolvieren Sie den Kurs Community-Connector Codelab für den Einstieg. Verwenden Sie das Entwicklertools zum Erstellen von Connectors für ein schnellerer und einfacherer Entwicklungsprozess.
Connector-Code schreiben
getAuthType()
sollteNONE
zurückgeben.getConfig()
sollte eine leere Konfiguration zurückgeben.- Optional:Wenn Sie zum Konfigurieren des Dashboards spezifische Eingaben benötigen, können hier Nutzereingaben anfordern.
getSchema()
sollte das Schema für Ihre Abfrage zurückgeben.- Optional: Sie können benutzerdefinierte Felder und Berechnungen entweder im SQL-Code Abfrage oder berechnete Felder als Teil des Schemas verwenden.
getData()
wird in einem späteren Schritt ausgeführt.
Manifest aktualisieren
Rufen Sie die Manifestreferenz auf und vervollständigen Sie das Manifest mit allen erforderlichen unter anderem folgende Informationen:
- Legen Sie
dataStudio.forceViewersCredentials
auftrue
fest. - Legen Sie
dataStudio.advancedServices.data
auftrue
fest. - Füge für
oauthScopes
https://www.googleapis.com/auth/userinfo.email
undhttps://www.googleapis.com/auth/script.external_request
Siehe Autorisierung Bereiche für Apps Script. <ph type="x-smartling-placeholder">- </ph>
- Bedingt: Fügen Sie alle relevanten Bereiche für die Dienste hinzu, die in den Connector.
Das Manifest sollte so aussehen:
{
...
"dataStudio": {
"forceViewersCredentials": true,
"advancedServices": {
"data": true
},
...
}
"oauthScopes": [
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/userinfo.email"
],
...
}
Dienstkonto implementieren
- Erstellen Sie ein Dienstkonto in Ihrem Google Cloud-Projekt. Dies ist Ihr Abrechnungsprojekt.
- Stellen Sie sicher, dass dieses Dienstkonto im Cloud-Projekt BigQuery-Zugriff hat.
- Erforderliche IAM-Rollen (Identity and Access Management):
BigQuery Data Viewer
,BigQuery Job User
- Erforderliche IAM-Rollen (Identity and Access Management):
- Laden Sie die JSON-Datei herunter, um die Dienstkontoschlüssel abzurufen. Speichere die Schlüssel an folgenden Orten: die Skripteigenschaften Ihres Verbindungsprojekts.
- Binden Sie die Bibliothek OAuth2 for Apps Script in Ihr Apps Script-Projekt ein.
- Implementieren Sie den erforderlichen OAuth2-Code für das Dienstkonto:
var SERVICE_ACCOUNT_CREDS = 'SERVICE_ACCOUNT_CREDS'; var SERVICE_ACCOUNT_KEY = 'private_key'; var SERVICE_ACCOUNT_EMAIL = 'client_email'; var BILLING_PROJECT_ID = 'project_id'; /** * Copy the entire credentials JSON file from creating a service account in GCP. */ function getServiceAccountCreds() { return JSON.parse(scriptProperties.getProperty(SERVICE_ACCOUNT_CREDS)); } function getOauthService() { var serviceAccountCreds = getServiceAccountCreds(); var serviceAccountKey = serviceAccountCreds[SERVICE_ACCOUNT_KEY]; var serviceAccountEmail = serviceAccountCreds[SERVICE_ACCOUNT_EMAIL]; return OAuth2.createService('RowLevelSecurity') .setAuthorizationBaseUrl('https://accounts.google.com/o/oauth2/auth') .setTokenUrl('https://accounts.google.com/o/oauth2/token') .setPrivateKey(serviceAccountKey) .setIssuer(serviceAccountEmail) .setPropertyStore(scriptProperties) .setCache(CacheService.getScriptCache()) .setScope(['https://www.googleapis.com/auth/bigquery.readonly']); }
getData()
implementieren
- Erstellen Sie Ihre BigQuery-Abfrage.
- Suchen Sie mithilfe der E-Mail nach der Zuordnung zwischen der E-Mail und den Daten.
- Verwenden Sie die JOIN- und/oder WHERE-Klausel, um die Daten zu filtern.
- Rufen Sie die gültige E-Mail-Adresse des Nutzers ab (Referenz zur Nutzeridentität).
- Verwenden Sie die erweiterten Looker Studio-Dienste, um die Abfragekonfiguration zurückzugeben
getData verwenden.
- Übergeben Sie die erstellte Abfrage, das Abrechnungsprojekt und das Dienstkonto. OAuth-Token
- Bedingung:Wenn Sie Nutzereingaben über den Connector
getConfig
annehmen, sollten Sie die Eingabe als BigQuery-Parameter einbinden.
Dashboard erstellen
- Informationen zur Funktionsweise von Bereitstellungen und Versionen für Connectors
- Erstellen Sie eine Produktionsbereitstellung für den Connector.
- Mit der Produktionsbereitstellung können Sie eine Datenquelle und einen neuen Bericht in Looker Studio
- Fügen Sie dem Bericht alle Tabellen und Diagramme hinzu.
- Das Dashboard kann jetzt mit Ihren Nutzern geteilt werden.
Dashboard für Nutzer verfügbar machen
- Geben Sie das Connector-Skript für ausgewählte Nutzer oder über die Option "Jeder" frei. mit Link“.
- Dashboard für ausgewählte Nutzer freigeben oder mit der Option „Jeder mit Link“.
- Optional:Verwenden Sie einen Kurzlink, um einen Kurzlink für die Dashboard-URL. Teilen Sie die gekürzte URL mit Ihren Nutzern. Dies hilft, die Dashboard-URL hinzufügen.
- Optional: Messen Sie die Dashboard-Nutzung, indem Sie Google Analytics für Ihren Bericht.