podbean.js
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

Podbean.js

A friendly NodeJS wrapper for the Podbean API

Note This API wrapper is built with client credentials authorization in mind. If you need client side auth, or something else, this is probably not the library for you.

Installation

I use yarn.

yarn add podbean.js

Usage

Here's A quick example to demonstrate what this library can do at the time of writing. You can copy this into a file named testbed.ts at the root of this repo, which is ignored because I'm too lazy to use an env file, and run yarn testbed to try it out.

import PodbeanAPI from "podbean.js";

const CLIENT_ID = 'yourClientId'
const CLIENT_SECRET = 'yourClientSecret';

const podbean = new PodbeanAPI({ clientId: CLIENT_ID, clientSecret: CLIENT_SECRET });

// log in
await podbean.login()

// grab basic podcast details
const podcast = await podbean.podcast();
console.log(`${podcast.title} (Status: ${podcast.status}) [ID: ${podcast.id}]`)
console.log(podcast.description);

// fetch and list episodes
const [episodes, count, hasMore] = await podbean.fetchEpisodes();
console.log(`\nDone fetching episodes. Total Fetched: ${count}\n`);
episodes.forEach((it, idx) => {
  console.log(`${it.episodeNumber} - ${it.title} (Status: ${it.status}) [ID: ${it.id}]`);
  console.log(`\tCreated: ${it.publishTime}`);
  console.log(`\t${it.duration ? `Duration: ${new Date(1000 * it.duration).toISOString().substr(11, 8)}` : 'Duration: 00:00:00 (No file)'}`);
  if (idx + 1 !== episodes.length) console.log(''); // spacer
});

console.log(
  hasMore 
    ? '\nThere are more episodes available'
    : '\nThere are no more episodes available'
);

License

This project is governed under the permissive MIT License.

Readme

Keywords

Package Sidebar

Install

npm i podbean.js

Weekly Downloads

1

Version

0.1.1

License

MIT

Unpacked Size

164 kB

Total Files

10

Last publish

Collaborators

  • lizzythewitch