Wie kann ich Drittanbieter-APIs in Discourse aufrufen?

Hallo,

ich frage mich, ob es eine Möglichkeit gibt, eine in Node.js erstellte benutzerdefinierte API von Drittanbietern in Discourse aufzurufen.

Feedback ist willkommen.

Vielen Dank

Es sollte keine Rolle spielen, in welcher Sprache die API geschrieben ist, solange alle Interaktionen über HTTP stattfinden.

Sie werden wahrscheinlich einige JavaScript-Ajax-Aufrufe in einer Theme-Komponente schreiben müssen oder, falls angemessen, HTTP-Aufrufe in neuem Plugin-Code in Ruby mit einer geeigneten Ruby-Gem wie Excon oder Httparty ausführen.

Danke für die Antwort @merefield, ich schätze dein Feedback.
Ich bin neu in der Discourse-Entwicklung. Zuvor habe ich an NodeBB gearbeitet, einem Community-CMS auf Basis von Node.js. Dort habe ich viele Anpassungen vorgenommen (z. B. eine benutzerdefinierte API erstellt, um Ticketdaten von Zoho abzurufen, die Liste der Vimeo-Videos abzufragen und vieles mehr). Ich möchte daher dasselbe tun oder entsprechende APIs dafür erstellen und die Antwortdaten auf einigen statischen Seiten für den Nutzer rendern.

Danke

Nutze das Backend, um den Aufruf zu tätigen:

  • wenn du dies sicher gestalten möchtest,
  • wenn das Backend das Ergebnis verarbeiten soll
  • wenn der Aufruf (oder die Aufrufe) lang andauernd sein könnten

Wenn es sich um einen lang andauernden Prozess handelt, packe ihn in einen Job.

Dafür benötigst du etwas Ruby-Code in einem Plugin sowie eines der oben genannten Gems.

Es ist nicht unbedingt ganz einfach, in die Plugin-Entwicklung für Discourse einzusteigen; es handelt sich um eine große, komplexe Plattform mit klaren Vorgaben, aber es gibt gute offizielle Anleitungen hier im Forum und VIELE bestehende Open-Source-Plugins, die du dir zum Studium ansehen kannst (siehe Customization > Plugin und Links zu GitHub). Versuche, ein Plugin zu finden, das etwas Ähnliches tut, und schau dir an, wie es im Code gelöst wurde.

Wenn es sich nur um oberflächliche Änderungen handelt, erwäge die Verwendung einer Theme-Komponente. Schau dir die Anleitungen zur Theme-Entwicklung hier im Forum an.

Schau dir Beispiele an, wie zum dieses hier: discourse-tc-quote-of-the-day/get-quote.js.es6 at master · merefield/discourse-tc-quote-of-the-day (github.com)

Okay @merefield, ich schaue mir das an. Danke für dein Feedback.