Discourse Linkify Google Sheets

Ce plugin permet de récupérer les données du composant de thème linkify depuis une feuille Google. Pour l’instant, vous devrez installer cette version dérivée du composant de thème, mais une solution pourrait voir le jour à l’avenir, vous permettant ainsi d’utiliser le véritable composant de thème avec ce plugin.


Configuration

Étapes :

  1. Créez un compte de service sur Google Cloud : Create service accounts  |  Identity and Access Management (IAM)  |  Google Cloud Documentation
    Google déclenchera le téléchargement d’un fichier JSON. Conservez son contenu en lieu sûr.

  2. Créez une feuille Google et partagez-la avec l’adresse e-mail du compte de service.

  3. Collez les lignes suivantes au bas de la section env dans votre fichier app.yml :

     GOOGLE_ACCOUNT_TYPE: 'service_account'
     GOOGLE_CLIENT_ID: 'client-id-from-json-file'
     GOOGLE_CLIENT_EMAIL: "service-account-email-address"
     GOOGLE_PRIVATE_KEY:  instructions below
    
  • Comment configurer le paramètre GOOGLE_PRIVATE_KEY ?

    • Collez la clé du fichier JSON dans un éditeur de code.
    • Utilisez la fonction « Rechercher et remplacer » pour remplacer \n par \\n.
    • Copiez le résultat et collez-le dans app.yml devant GOOGLE_PRIVATE_KEY, en l’entourant de guillemets simples ' '.
  1. Suivez ensuite les étapes habituelles pour installer le plugin.

  2. Installez cette version dérivée du composant de thème Linkify.


Paramètres du plugin

linkify_google_sheet_id : Lorsque vous ouvrez la feuille Google dans votre navigateur, la longue chaîne située après https://docs.google.com/spreadsheets/d/ correspond à l’identifiant de la feuille de calcul.

linkify_google_sheet_name : Vous pouvez avoir plusieurs feuilles dans un fichier Excel, par exemple Sheet1, Sheet2, etc. C’est le nom de la feuille que vous devez indiquer ici.

linkify_google_sheet_cell_range : Les colonnes à partir desquelles récupérer les données de linkify. Par défaut, il s’agit des deux premières colonnes. Vous pouvez modifier cette valeur. Voici un guide sur le fonctionnement des plages de cellules : Google Sheets API Overview  |  Google for Developers


:page_facing_up: Obtenir le code

:raising_hand_woman: Demander une fonctionnalité

:bug: Signaler un bug

Perdu ?

Merci d’avoir sponsorisé le plugin @jrgong

7 « J'aime »

@sam
Avec cela, je propose également une méthode plugin-api permettant de s’interfacer proprement avec la source de données de ces composants de thème et de la remplacer.

Par exemple :

// lors de l'utilisation
let data = useDataSource('linkify-data');
// les plugins ou les composants de thème peuvent faire quelque chose comme ceci

setDataSource('linkify-data', customDataObject);

L’idée est qu’un autre composant de thème puisse appeler setDataSource avec un autre objet.
Cela permettrait de remplacer la source de données de ces composants sans modifier le code.
Qu’en pensez-vous ?

4 « J'aime »

J’adore ! Merci encore pour le excellent travail et la mise en œuvre @fzngagan

2 « J'aime »