How can I call third party apis in discourse

Use the backend to make the call:

  • if you need this to be secure,
  • if you need the backend to process the result
  • if the call(s) may be long running

If long running put it in a Job.

That will require some Ruby in a Plugin and one of the above mentioned gems.

It’s not necessarily all that easy to get into Discourse plugin development, it’s a big complex, opinionated platform, but there are good official guides on here and LOTS of existing open source plugins to look through (see plugin and links to github). Try to find one that does something similar and look at how it is solved in code.

If it’s superficial consider a Theme Component. Look at the Theme Development guides on here.

Look at examples, like this one: discourse-tc-quote-of-the-day/get-quote.js.es6 at master · merefield/discourse-tc-quote-of-the-day (github.com)

3 Likes