Discourse Linkify Google Sheets

Das Plugin ermöglicht das Abrufen der Daten des linkify Theme Components aus einem Google Sheet. Derzeit müssen Sie diesen Fork des Theme Components installieren, aber es könnte in Zukunft eine Lösung geben, sodass Sie den eigentlichen Theme Component mit diesem Plugin verwenden können.


Einrichtung

Schritte:

  1. Erstellen Sie ein Service-Konto bei Google Cloud: Create service accounts  |  Identity and Access Management (IAM)  |  Google Cloud Documentation
    Google startet den Download einer JSON-Datei. Speichern Sie den Inhalt sicher.

  2. Erstellen Sie ein Google Sheet und teilen Sie es mit der E-Mail-Adresse des Service-Kontos.

  3. Fügen Sie diese Zeilen am Ende des env-Abschnitts in Ihrer app.yml ein:

     GOOGLE_ACCOUNT_TYPE: 'service_account'
     GOOGLE_CLIENT_ID: 'client-id-from-json-file'
     GOOGLE_CLIENT_EMAIL: "service-account-email-address"
     GOOGLE_PRIVATE_KEY:  Anweisungen unten
    
  • Wie richte ich den Parameter GOOGLE_PRIVATE_KEY ein?

    • Fügen Sie den Schlüssel aus der JSON-Datei in einen Code-Editor ein.
    • Verwenden Sie „Suchen und Ersetzen“ und ersetzen Sie \n durch \\n.
    • Kopieren Sie das Ergebnis und fügen Sie es in app.yml vor GOOGLE_PRIVATE_KEY ein, wobei Sie es in einfache Anführungszeichen ' ' einschließen.
  1. Folgen Sie nun den üblichen Schritten zur Installation des Plugins.

  2. Installieren Sie diesen Fork des Linkify Theme Components.


Plugin-Einstellungen

linkify_google_sheet_id: Wenn Sie das Google Sheet im Browser öffnen, ist die lange Zeichenfolge nach https://docs.google.com/spreadsheets/d/ die Tabellenkalkulations-ID.

linkify_google_sheet_name: Sie können mehrere Sheets in einer Excel-Datei haben, z. B. Sheet1, Sheet2 usw. Der Name dieses Sheets wird hier eingetragen.

linkify_google_sheet_cell_range: Die Spalten, aus denen die Linkify-Daten abgerufen werden. Standardmäßig sind die ersten beiden Spalten eingestellt. Sie können diesen Wert ändern. Hier finden Sie eine Anleitung, wie Zellbereiche funktionieren: Google Sheets API Overview  |  Google for Developers


:page_facing_up: Code herunterladen

:raising_hand_woman: Feature anfordern

:bug: Fehler melden

Verloren?

Danke für die Sponsoring des Plugins @jrgong

7 „Gefällt mir“

@sam
Dazu schlage ich auch eine plugin-api-Methode vor, die es ermöglicht, sauber in die Datenquelle solcher Theme-Komponenten einzugreifen und sie zu ersetzen.

z. B.

// während der Nutzung
let data = useDataSource('linkify-data');
// Plugins, Theme-Komponenten können so etwas wie folgendes tun

setDataSource('linkify-data', customDataObject);

Die Idee dahinter ist, dass eine andere Theme-Komponente setDataSource auf ein anderes Objekt setzen kann.
Dies würde es ermöglichen, die Datenquelle solcher Komponenten zu ersetzen, ohne etwas im Code zu ändern.
Meinungen?

4 „Gefällt mir“

Toll! Nochmals danke für die großartige Arbeit und Umsetzung @fzngagan

2 „Gefällt mir“