Brightcove::Cmsapi
This gem wraps Brightcove's CMS API.
Installation
Add this line to your application's Gemfile:
gem 'brightcove-cmsapi'
And then execute:
$ bundle
Or install it yourself as:
$ gem install brightcove-cmsapi
Setup
To use this library you will require a client ID and secret, as well as your brightcove account's ID. You can find instructions of obtaining these credentials in the Brightcove docs.
** Setup a basic client **
@client = Brightcove::Cmsapi.new(
account_id: "my_account_id",
client_id: "my_client_id",
client_secret: "my_client_secret")
One alternative to this setup that can save you time and boilerplate code would be to call the .default_api
method.
This assumes you have your credentials and account ID set as environment variables BRIGHTCOVE_ACCOUNT_ID
BRIGHTCOVE_CLIENT_ID
BRIGHTCOVE_CLIENT_SECRET
.
** Alternatively: don't setup the client each time (RECOMMENDED USAGE) **
Brightcove::Cmsapi.default_api.get('videos')
Usage examples
** Get the available videos in account (by default the first 20) **
@client.get('videos')
# or use the default_api setup:
Brightcove::Cmsapi.default_api.get('videos')
Calling .get
uses the default API settings and simply appends the argument to the API call like this:
https://cms.api.brightcove.com/v1/accounts/:account_id/videos
The result will be a HTTP::Response
object (the gem uses the http.rb gem).
To parse the JSON in this response into a Ruby hash call .parse
.
The API defaults are described in Brightcove's documentation.
To get more than the default 20 results you could call .get('videos?limit=100')
, however there is a hard limit at 100 results that you can not exceed.
To get around this limit you can use the .get_all
method as displayed below, this will paginate through the results and return a parsed set of all
a particular resource.
** Get all available videos **
Brightcove::Cmsapi.default_api.get_all('video')
** Get all available videos in a folder **
Brightcove::Cmsapi.default_api.get_all('folder/:folder_id', 'video')
** Get all available videos in a folder as an array of ruby hashes **
Brightcove::Cmsapi.default_api.get_all('folder/:folder_id', 'video').parse
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
License
The gem is available as open source under the terms of the MIT License.