bigbluebutton-api-js
Version:
A very simple Javascript library that generates links to all methods in BigBlueButton's API
81 lines (59 loc) • 2.69 kB
Markdown
# BigBlueButton API JS
[](https://bigbluebutton.network)
JavaScript layer to interact with BigBlueButton [API](https://docs.bigbluebutton.org/dev/api). Supports [WebHooks](https://docs.bigbluebutton.org/dev/webhooks.html).
## [Read the Official Documentation](https://bigbluebutton.network/)
## Features
- Supports BBB API, and WebHooks
- Provides methods to construct URLs, and calculate SHA checksum
- Provides HTTP client that converts XML responses to JS objects
- Works with Node 10 or newer
## Installation
```bash
npm i -s bigbluebutton-api-js
```
## Usage
You will need to provide BigBlueButton URL and secret to the script. You can obtain them by logging into you BBB server, and running:
```bash
bbb-conf --secret
```
Use the obtained values in your script:
```javascript
// Create an API object passing the url, the salt and the mobile salt
const BigBlueButtonApi = require("bigbluebutton-api-js")
const api = new bbb.api(
"https://your-bigbluebutton-server.com/bigbluebutton/api",
"8cd8ef52e8e101574e400365b55e11a6",
"03b07",
);
// A hash of parameters.
// The parameter names are the same names BigBlueButton expects to receive in the API calls. The lib will make sure that, for each API call, only the parameters it support will be used.
const params = {
name: "random-9998650"
meetingID: "random-9998650"
moderatorPW: "mp"
attendeePW: "ap"
welcome: "<br>Welcome to <b>%%CONFNAME%%</b>!"
attendeePW: "ap"
fullName: "User 8584148"
meetingID: "random-9998650"
moderatorPW: "mp"
password: "mp"
publish: false
random: "416074726"
record: false
recordID: "random-9998650"
voiceBridge: "75858"
}
// Than call the `getUrl` function with the endpoint of the API
api.getUrl('create', params)
// Will return prepared URL with all params, similar to:
"https://your-bigbluebutton-server.com/bigbluebutton/api/create?name=random-266119&meetingID=random-266119&moderatorPW=mp&attendeePW=ap&welcome=%3Cbr%3EWelcome%20to%20%3Cb%3E%25%25CONFNAME%25%25%3C%2Fb%3E!&voiceBridge=76262&record=false&checksum=6c529b6e31fbce9668fd66d99a09da7a78f4"
api.getUrl('end', params)
// Will return
"https://your-bigbluebutton-server.com/bigbluebutton/api/end?meetingID=random-266119&password=mp&checksum=4f0df85832063a4606786a8f4207a6629fcc"
api.getUrl('getMeetings', params)
// Will return
"https://your-bigbluebutton-server.com/bigbluebutton/api/getMeetings?random=446147049&checksum=94ba109ea7348ea7d89239855812fdd7bdaf"
```
## License
Distributed under The MIT License (MIT), see `LICENSE`.